如何将捕获的数据包发送到不同的目的地?

Lak*_*age 9 wireshark tcpdump linux-networking tshark

我在 pcap 文件中使用 tcpdump 捕获了一些数据包。现在我想将这些数据包发送到另一个目的地。我怎么能做到这一点?

Lak*_*age 14

我想捕获一些 SNMP 陷阱并保留它们以便稍后测试我的应用程序。所以我不想每次想测试我的应用程序时都生成陷阱。我想发布我是如何做到这一点的。希望这可以帮助某人。

1) 捕获目的主机为 192.168.159.149 和端口 1620 的数据包并将其保存到文件中

tcpdump -n -c 1 -s 0 dst host 192.168.159.149 and port 1620 -w snmp.pcap -i eth0
Run Code Online (Sandbox Code Playgroud)

2) 读取抓包

tcpdump -r snmp.pcap -X
Run Code Online (Sandbox Code Playgroud)

3) 改变目的 ip、MAC 和校验和

tcprewrite --infile=snmp.pcap --outfile=snmp2.pcap --dstipmap=192.168.159.149:192.168.159.150 --enet-dmac=00:0c:29:d6:0f:61 --fixcsum
Run Code Online (Sandbox Code Playgroud)

4) 重播

tcpreplay --intf1=eth0 snmp2.pcap 
Run Code Online (Sandbox Code Playgroud)


Wes*_*ley 2

您需要使用能够重播 pcap 文件的工具。没有什么特别的技巧。一个例子是tcpreplay。只需搜索“重播 pcap 文件”即可在您选择的搜索引擎中按 Enter 键的那一秒内找到更多最新的工具。