wireshark本身并不能修改数据包,但是tcprewrite 可以修改数据包,然后通过tcpreplay 进行重放,这个时候wireshark抓的包,就是被篡改后的pcap包了。

ailx10
网络安全优秀回答者
互联网行业 安全攻防员
去咨询
步骤一:安装 libpcap-dev
sudo apt-get install libpcap-dev 
步骤二:下载源代码[1],并编译安装 tcprewrite
./configure 
make
sudo make install 
步骤三:准备pcap包,以访问知乎的pcap包为例,记住篡改前的信息
- 源地址:192.168.0.108
 - 目的地址:103.41.167.234
 

步骤四:跟着ailx10,开干
修改pcap包的源IP地址,从192.168.0.108改成1.1.1.1
tcprewrite --srcipmap=192.168.0.108:1.1.1.1 -i ../zhihu.pcap -o ../zhihu2.pcap 
修改pcap包的目的IP地址,从103.41.167.234改成2.2.2.2
tcprewrite --dstipmap=103.41.167.234:2.2.2.2 -i ../zhihu2.pcap -o ../zhihu2.pcap 
步骤五:见证奇迹

如果你想将整个数据包里的源IP地址和目的IP地址内容都替换掉
- 所有的 220.181.107.131 替换成 3.3.3.3
 - 所有的 192.168.0.108 替换成 4.4.4.4
 

替换前
一条命令,直接替换:
tcprewrite --srcipmap=220.181.107.131:3.3.3.3,192.168.0.108:4.4.4.4 --dstipmap=220.181.107.131:3.3.3.3,192.168.0.108:4.4.4.4 -i ../tcp.pcap -o ../tcp2.pcap 
 

参考
- ^tcpreplay Releases · appneta/tcpreplay · GitHub
 
