1

我在 openwrt 中使用 tcpreplay 和 tcprewrite。

我想将捕获的数据包重新发送到另一个节点。

下面是我的描述。

     External                        OpenWRT                     Computer1
                           eth0               wlan0       
  119.207.66.08 -----> 192.168.0.180       192.168.4.1 ------>  192.168.4.110  

我使用 tcpdump 从外部捕获数据包。

tcpdump -i any -d 192.168.0.180 -w save_packet.pcap

我尝试重写数据包的源 IP 和源 MAC、目标 IP 和目标 MAC。

tcprewrite -i save_packet.pcap -o rewrite_packet.pcap --enet-smac=[OpenWRT's MAC] \
--enet-dmac=[Computer1's MAC] -S 0.0.0.0/0:192.168.4.1 -D 192.168.0.180:192.168.4.110 -C

并重播 rewrite_packet.pcap

tcpreplay -i wlan0 rewrite_packet.pcap

至此,我在 Computer1 中收到了 rewrite_packet。并且 Computer1 确实对此数据包做出了响应。

但不是外部(119.207.66.08)而是OpenWRT(192.168.0.180)......我希望Computer1响应外部。但是当我不更改源 IP、MAC 时,我无法发送到 Computer1.119.207.66.08 请帮助我...

4

0 回答 0