pplayer(packet player)是我写的一款小工具,支持主流协议,专门用来测试IPS和防火墙设备,经长时间验证,简单可靠,故发布。
程序的原理很简单,首先加载pcap包中的数据包,保存在内存中,然后在回放环境中回放数据包。
拓扑:
原理:
防火墙的两个网卡和linux pc的两个网卡分别对接形成环路,pplayer程序运行在linux pc中。
1,加载pcap文件中网路数据包,识别出数据包发送方向(client to server or server to client)
2,修改数据包内容(源/目的ip地址,校验和)
3,按顺序发送数据包,同时接收数据包
4,打印log,提示发送和接收情况,回放完毕。
使用方法:
pplayer -f filename [ -t time] | [-m] | [-v ipversion] | [-p portnum]
可用参数:
-f: 必选,参数是pcap文件名。
-t: 可选,参数是等待接收一个已发送的数据报的时间;如不选默认30(微秒)。
-m: 可选,理想情况下pcap包中只包含两个ip地址的数据包,但是如果存在第3方或3个以上ip地址,就形成了若干的回放关系。
默认情况下,只选择数据包数量最多得一对ip进行回放。如需回放其他ip对的数据包,需要使用-m参数,会以ip对为顺序来回放数据包。
-v: 可选,4或6, 回放IPV4/6数据包, 默认4.
-p: 可选,选择只回放指定端口的数据包,例如,指定回访HTTP包, -p 80。
另外pplayer支持nat环境回放,使用方法见下面配置文件。
举例:
1,./pplayer -f http.pcap(回放http.pcap的数据包)
2, ./pplayer -f http.pcap -v 6 (回放http.pcap的数据包,数据包格式是ipv6)
3,./pplayer -f http.pcap -v 6 -t 50 (回放http.pcap的数据包,数据包格式是ipv6, 每个数据包的等待接收时间设为50微秒)
配置文件:
配置名是conf,和pplayer程序在同一目录下。
格式:
device1:eth0
device2:eth1
device1ip:1.1.1.1
device2ip:2.2.2.2
device1nat:3.3.3.3
device2nat:4.4.4.4
fwmac1:00:0C:29:25:63:6E
fwmac2:00:0C:29:25:63:78
注:冒号后面紧接内容,不能有空格或换行
1.device1和device2表示linxu pc的两个网卡<