8

イーサネット、IP、およびレイヤー 4 (私の場合は TCP) ヘッダーのみを含む pcap ファイルを生成する自動化された方法 (tcpdump またはヘルパー アプリを介して) はありますか?結果のpcap?ヘッダーのサイズはさまざまな場合が多いため、ペイロード データをまったくキャッチしないキャプチャ サイズを選択することは不可能であることがわかりました。

4

3 に答える 3

10

scapyPythonのモジュールを使用すると、TCPペイロードを非常に簡単に取り除くことができます

[mpenning@hotcoffee tshark_wd]$ tcpdump -n -r sample.pcap 
reading from file sample.pcap, link-type EN10MB (Ethernet)
00:25:42.443559 IP 192.168.12.237.1052 > 192.168.12.236.22: Flags [P.], 
    seq 2445372969:2445373021, ack 1889447842, win 63432, length 52
00:25:42.443607 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [.], 
    ack 52, win 65535, length 0
00:25:42.443980 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [P.], 
    seq 1:389, ack 52, win 65535, length 388

ペイロードストリッピング

これをLinuxでrootとして実行しています...

#!/usr/bin/env python
from scapy.all import *
INFILE = 'sample.pcap'
OUTFILE = 'stripped.pcap'
paks = rdpcap(INFILE)
for pak in paks:
    pak[TCP].remove_payload()
wrpcap(OUTFILE, paks)

[mpenning@hotcoffee tshark_wd]$ tcpdump -n -r stripped.pcap 
reading from file sample.pcap, link-type EN10MB (Ethernet)
00:25:42.443559 IP truncated-ip - 52 bytes missing! 192.168.12.237.1052 
    > 192.168.12.236.22: Flags [P.], seq 2445372969:2445373021, 
    ack 1889447842, win 63432, length 52
00:25:42.443607 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [.], 
    ack 52, win 65535, length 0
00:25:42.443980 IP truncated-ip - 388 bytes missing! 192.168.12.236.22 
    > 192.168.12.237.1052: Flags [P.], seq 1:389, 
    ack 52, win 65535, length 388

上記ではtcpdump、「XXバイトが欠落しています!」に注意してください。メッセージ。これは、TCPペイロードを削除したためです。

于 2011-12-09T06:44:20.373 に答える
1

If simple truncate would work for you, you could use:

tcpdump -i eth0 -s 96 -w test1.pcap

Later on you can analyze it with wireshark.

于 2011-12-09T04:05:22.533 に答える