|
tcprewrite可以修改pcap包的端口、IP、MAC地址等,搭配tcpreplay回放數據包。 對于一個通過tcpdump得到的數據包test.pcap,它是oIP1:oIP2之間的數據交互,要將其源目的IP地址修改為nIP1:nIP2,首先要執(zhí)行tcpprep命令,生成中間文件test_cache.pcap: tcpprep -p --pcap=test.pcap --cachefile=test_cache.pcap 然后執(zhí)行tcprewrite對數據包進行修改,需要注意的是一般情況下修改了源目的IP地址的同時還要修改二者的MAC地址,如原MAC地址對應為oMAC1:oMAC2,要將oMAC1修改為nMAC1,oMAC2修改為nMAC2,命令如下: tcprewrite -i test.pcap -o output_test.pcap --cachefile=test_cache.pcap -e nIP1:nIP2 --dmac=oMAC1,nMAC1 --smac=oMAC2,nMAC2 ouput_test.pcap為重寫后的輸出文件,如果重寫后的數據報文IP和MAC的對應于期待不一致,調換IP(MAC)1、IP(MAC)2的順序即可。 P.S.修改目的IP的MAC地址的時候,MAC地址不是目的機網卡物理地址,而是源機器所連接的交換機MAC地址。 同事需要修改一個pcap包的端口,官網 提供的方法是使用"--portmap"選項,如
但是,試來試去改端口都不生效,但是修改ip地址卻無問題。 檢查了下安裝的tcprewrite版本,顯示是3.0.0beta,官方最新穩(wěn)定版是3.4.4,系統(tǒng)的libnet和libpcap在安裝tcpreplay套件后升級過,懷疑是兼容問題,遂下載最新版安裝。
需求是要將53端口號修改為54,命令如下
修改成功 總結:莫名其妙的問題,可以試試重新安裝軟件。 |
|
|
來自: guolijiegg > 《linux》