重放 UDP 数据包捕获

ins*_*get 7 sniffing playback

我有一个 UDP 数据包捕获,它从 IP1 上的端口 1 流式传输到网络 N1 上 IP2 上的端口 2。我需要在另一个网络 N2 上从 IP3 上的端口 3 到 IP4 上的端口 4 重放这些数据包。

我需要知道要使用什么软件才能做到这一点,以及我将如何重放这些数据包,以便我可以在 N2 中再次检测/捕获它们。

到目前为止,我已经尝试使用名为 Colaso​​ft Packet Player 的程序严格重放这些数据包,但运气不佳。

spx*_*pxl 9

BitTwist ( http://bittwist.sourceforge.net ) 应该能够做你想做的。

使用 Bit-Twist,您现在可以将捕获的流量重新生成到实时网络上!数据包是从 tcpdump 跟踪文件(.pcap 文件)生成的。Bit-Twist 还带有一个全面的跟踪文件编辑器,允许您更改跟踪文件的内容。

“跟踪文件编辑器”部分是您最感兴趣的部分。

我认为您需要进行两次转换:一次更改 IP 地址,另一次更改 UDP 端口号。我相信您可以按任一顺序执行此操作。

bittwiste -I original.pcap -O changedip.pcap -T ip -s IP1,IP3 -d IP2,IP4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s Port1,Port3 -d Port2,Port4
Run Code Online (Sandbox Code Playgroud)

您需要输入 IP 地址和端口号的位置,例如

bittwiste -I original.pcap -O changedip.pcap -T ip -s 192.168.0.1,10.10.0.3 -d 192.168.0.2,10.10.0.4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s 12345,24680 -d 80,8080
Run Code Online (Sandbox Code Playgroud)

如果你的原始捕获文件只有你原始机器的 IP 和端口号,你可以通过在编辑命令中不提及旧的 IP 和端口号来简化这一点,例如

bittwiste -I original.pcap -O changedip.pcap -T ip -s 10.10.0.3 -d 10.10.0.4
bittwiste -I changedip.pcap -O changedipandport.pcap -T udp -s 24680 -d 8080
Run Code Online (Sandbox Code Playgroud)

生成从 10.10.0.3:24680 到 10.10.0.4:8080 的数据包。

从网络 N2 中的机器上,您应该能够changedipandport.pcap使用Colaso​​ft Packet Player ( http://www.colaso​​ft.com/packet_player ) 或命令行BitTwist播放器播放文件,例如

bittwist -i 1 changedipandport.pcap
Run Code Online (Sandbox Code Playgroud)

这里的“1”是设备 1。bittwist -d用于列出设备。

BitTwist 播放器还有其他一些使用 Colaso​​ft Packet Player 无法做到的漂亮选项,特别是通过更改乘数发送的数据包的速度(例如,原始速度的 5 倍或原始速度的 0.1 倍)。

我已经使用Wireshark ( http://www.wireshark.org )成功地测试了这种方法,使用bittwiste (the编辑器)将目标 IP 地址更改为我的有线以太网适配器地址,将 UDP 端口更改为 8001,然后使用bittwist(播放器)重播到监听端口 8001的Pure Datahttp://puredata.info)补丁。


spx*_*pxl 3

tcpreplay ( https://tcpreplay.appneta.com/ ) 似乎也能够做你想做的事情,也许使用tcprelat-edit程序一步完成,但我个人还没有运行过这个软件。

tcpreplay-edit 概述

tcpreplay 这些年来已经有了很大的发展。在 1.x 时代,它只是读取数据包,然后通过线路发送回来。在 2.x 中,tcpreplay 得到了显着增强,添加了各种重写功能,但代价是复杂性、性能和膨胀。现在在 3.x 中,tcpreplay 已经回归其根源,成为一个精简的数据包发送机器,编辑功能已转移到 tcprewrite 和一个将两者结合在一起的强大的 tcpreplay-edit。

由于 tcpreplay-edit 包含 tcpreplay 和 tcprewrite 的所有功能,请参阅这些 wiki 页面以了解如何使用 tcpreplay-edit。