我是靠谱客的博主 虚幻秀发,最近开发中收集的这篇文章主要介绍tcprewrite的安装和用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(2011年2月14日更新)

tcprewrite可以修改pcap包的端口、IP、MAC地址等,搭配tcpreplay回放数据包。

对于一个通过tcpdump得到的数据包test.pcap,它是oIP1:oIP2之间的数据交互,要将其源目的IP地址修改为nIP1:nIP2,首先要执行tcpprep命令,生成中间文件test_cache.pcap:

tcpprep -p --pcap=test.pcap --cachefile=test_cache.pcap

然后执行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"选项,如

$ tcprewrite --portmap=80:8080,22:8022 --infile=input.pcap --outfile=output.pcap

would re-map TCP/UDP traffic running on 80 to be 8080 and traffic on port 22 to port 8022.

但是,试来试去改端口都不生效,但是修改ip地址却无问题。

检查了下安装的tcprewrite版本,显示是3.0.0beta,官方最新稳定版是3.4.4,系统的libnet和libpcap在安装tcpreplay套件后升级过,怀疑是兼容问题,遂下载最新版安装。

tar xzvf  tcpreplay-3.4.4.tar.gz

cd tcpreplay-3.4.4/

./configure

make

make install

需求是要将53端口号修改为54,命令如下

 

tcprewrite --portmap=53:54 --infile=input.pcap --outfile=output.pcap

修改成功

总结:莫名其妙的问题,可以试试重新安装软件。

 

最后

以上就是虚幻秀发为你收集整理的tcprewrite的安装和用法的全部内容,希望文章能够帮你解决tcprewrite的安装和用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部