差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
programming:python:dpkt:start [2012/01/08 03:11] yuki |
programming:python:dpkt:start [2021/05/22 18:41] yuki 削除 |
||
---|---|---|---|
ライン 11: | ライン 11: | ||
* ICMPv6は別段デコードしないデータグラムを重複して返すかもしれない。これも書きなおしかも。 | * ICMPv6は別段デコードしないデータグラムを重複して返すかもしれない。これも書きなおしかも。 | ||
* http://code.google.com/p/dpkt/issues/detail?id=77 | * http://code.google.com/p/dpkt/issues/detail?id=77 | ||
+ | * カプセル化されていて、そのプロトコルが実装前だけど実装するのが面倒なときは、以下のように必要部分だけstrで抜き出して処理する逃げ道もある。 | ||
+ | * <code>dpkt.ip.IP( str(udp.data)[4:] )</code> | ||
* Python 2.7.1でビルド | * Python 2.7.1でビルド | ||
ライン 37: | ライン 39: | ||
eth = dpkt.ethernet.Ethernet(type=dpkt.ethernet.ETH_TYPE_IP) | eth = dpkt.ethernet.Ethernet(type=dpkt.ethernet.ETH_TYPE_IP) | ||
eth.src=ethaddr('01:02:03:04:05:06') | eth.src=ethaddr('01:02:03:04:05:06') | ||
- | eth.dst=ethaddr('07:08:09:0a:0b:0c') | + | eth.dst=ethaddr('01:02:03:04:05:07') |
pcw = dpkt.pcap.Writer(open('gre_'+filename,'wb')) | pcw = dpkt.pcap.Writer(open('gre_'+filename,'wb')) | ||
ライン 45: | ライン 47: | ||
ip.sum = 0 | ip.sum = 0 | ||
ip.data = gre | ip.data = gre | ||
- | # ip.__len__でもいいと思うけど。 | ||
ip.len = len(str(ip)) | ip.len = len(str(ip)) | ||
eth.data = ip | eth.data = ip |