Pythonでパケットキャプチャ
とある事情によりパケットキャプチャするプログラムが必要になったので、手慣れたPythonで書いてみた。パケットキャプチャをするためのライブラリはpcapy。キャプチャしたパケットを自分で解析するとつらいので、impacketも使用する。特に後者は日本語の情報があまりないので未来の自分のためのメモ書き。
必要なソフト
Python2.5:pcapyの関係でバージョンは2.5。
WinPcap4.0:pcapyの関係でバージョンは4.0。
pcapy0.10.5:WinPcapをpythonから使うためのライブラリ。
Impacket0.9.6:パケットを解析するためのライブラリ。
サンプルソース
# coding: shift_jis #---------------------------------------------------- import pcapy from impacket.ImpactDecoder import * #---------------------------------------------------- # パケットが届くと呼ばれる def f(header, data): eth = EthDecoder().decode(data) ip = eth.child() tcp = ip.child() src = (ip.get_ip_src(), tcp.get_th_sport()) dst = (ip.get_ip_dst(), tcp.get_th_dport()) data = tcp.get_data_as_string() print src, dst print data #---------------------------------------------------- #---------------------------------------------------- def main(): no = 1 # 適当に有効なデバイス番号を入れる dev = pcapy.findalldevs()[no] p = pcapy.open_live(dev, 65536, False, 100) p.setfilter("tcp") p.loop(-1, f) #----------------------------------------------------
Yahoo Pipesはクセがある
検索結果にGoogle書籍検索のリンクがある場合には更新のたびに登録されるというバグがGoogle Scholar RSSにあったため修正した。URLの中に乱数?のようなものがあるためRSSのIDがユニークにならなかったことが原因。幸いURLの一部のパラメータを単純にカットすれば良いので正規表現モジュールにルールを追加するだけでいいはずなのだが、書いた正規表現がなかなか通らない。
具体的にはURLの中にある「&ots=.+&sig=.+」をカットしたいのだが、このまま書いてもマッチされない。いろいろ試した結果、「\x26amp;ots=.+\x26amp;sig=.+」なら通ることが判明。分からないよ…。
Fennec (FireFox Mobile) for Windows Mobile α版
ついにダウンロード可能に! ただし、まだ通常動作は困難とのことなので人柱専用。
現状のスマートフォン(PDA)の欠点は画面が狭いのとAJAXサイトに対応していないという2つの理由からPCと同じようにブラウジングできないこと。前者はハードの進化で改善しているので、残りの後者がこれで改善できるのではと個人的にかなり期待。
○参考URL:
英国○○○じぃ - Firefox Mobileがダウンロード可能に!
msmobiles.com - Download of Fennec for Windows Mobile available
Fennec for Windows Mobile - download
Google Scholar RSS 日本語版
Googleニュースやウェブ、ブログ検索の結果はRSS配信できるのに、なぜかScholarはできない。なぜ。口を開けて待っていると新着論文が入ってくるという夢の生活が諦めきれず、同じ事をしている人はいないかと検索したところYahoo PipesにGoogle Scholarの出力結果をRSSに変換してくれるフィルタを発見した。素晴らしい。ただ、日本語が通らなかったので通るように改造しました。
Google Scholar RSS/email copy (Ninja ver.)
適当な検索ワードと年を指定したフィルタのRSSを愛用のRSSリーダーに登録しておくと非常に快適。今までなんでなかったんだ…。
○参考URL:
XIII情報局 - Yahoo!PipesでGoogle ScholarのRSSフィードを作る
Yahoo!Pipes|Google Scholar RSS/email|the_mike_love