gpt4 book ai didi

python - 从 tcpdump 中剥离有效负载?

转载 作者:太空狗 更新时间:2023-10-29 21:44:21 25 4
gpt4 key购买 nike

是否有一种自动方式(在 tcpdump 中或通过辅助应用程序 Out There)生成仅包含以太网、IP 和第 4 层(在我的例子中是 TCP) header 的 pcap 文件,以便没有有效负载/应用程序生成的 pcap 中的数据?我发现由于 header 大小经常变化,因此不可能选择不会捕获任何有效负载数据的捕获大小。

最佳答案

您可以使用 Python 的 scapy 非常轻松地去除 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 负载。

关于python - 从 tcpdump 中剥离有效负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com