タグ

networkとPythonに関するokagawaのブックマーク (4)

  • PythonでTCPスタックを記述するとどうなる? | POSTD

    Hacker School在籍中、ネットワーキングの理解をより深めたいと思い、小規模なTCPスタックを書いてみようと思い立ちました。個人的には、C言語よりもPythonの方になじみがありましたし、その頃ちょうど、パケット送信を 非常に簡単に する scapy ネットワーキングライブラリも見つけたところでした。 そんなわけで、 teeceepee を書き始めました。 基的な構想は次のとおりです。 TCPパケットを送信可能にするRaw socketを開く google.comを取得するためにHTTP要求を送る 応答を取得しパースする 成功を祝う 適切なエラー処理などについてはさほどの注意も払わず、ただただウェブページを取得し、勝利を宣言しようと思っていました(^_^) ステップ1:TCPハンドシェイク 手始めは、GoogleとのTCPハンドシェイクです(以下は必ずしも正しく動作しませんが、原

    PythonでTCPスタックを記述するとどうなる? | POSTD
  • gevent+pyqueryで並列にスクレイピングする - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の炭酸x2倍のジョルトコーラです。なんか適当に書いたコードが予想外にはてブ付いたので「みんな好きモノなんだなー」と思いました。同期なコードだとURL増えたときに詰まっちゃうので、非同期なやつもちょろっと紹介しますよ。 あ、くれぐれも闇雲なスクレイピングはしないでくださいよ。DoS攻撃と変わらないですから。捕まっても僕は責任とりませんよ。 リンク 5分でWebスクレイピングをする - YAMAGUCHI::weblog 前回のエントリ。これは直列なコードなのでURLが増えれば増えるほど線形に遅くなる。 やってみよう おさらい 前回は指定した複数のURLのページにあるHTMLからaタグを全部抜き出す、というようなことをしたのでした。で、今回はそれを非同期化しましょうという話。 非同期にしたいところ 前のコードでforとかになってるところは基的に同期じゃなく

    gevent+pyqueryで並列にスクレイピングする - YAMAGUCHI::weblog
  • Using the Win32 IPHelper API « Python recipes « ActiveState Code

    ActiveState Code (http://code.activestate.com/recipes/392572/) This function will return a list of ports (TCP/UDP) that the current machine is listening on. It's basically a replacement for parsing netstat output but also serves as a good example for using the IP Helper API. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4

    okagawa
    okagawa 2006/04/21
    PythonからWin32 IPHelper APIを使って使用中のTCP/UDPポートを列挙する。
  • Compare Free Open Source Software

    SysAid is a multi-layered ITSM solution with built-in remote control and advanced automation For organizations spanning all industries and sizes from SMBs to Fortune 500 corporations SysAid is an ITSM, Service Desk and Help Desk software solution that integrates all of the essential IT tools into one product. Its rich set of features include a powerful Help Desk, IT Asset Management, and other eas

  • 1