Tcpreplay 是向网卡回放pcap包,常用命令为tcpreplay –t –I eth0 xxx.pcap,直接指定网卡然后向网卡打流量
Tcpreplay可以不止针对于http流量
如果在真机向虚拟机打流量,则必须利用桥接模式,将虚拟机网卡桥接到真机网卡,tcpreplay –t –I en3 xxx.pcap
mtu(最大传输单元)限制,默认mtu限制为1500,可是通过wireshark抓取的pcap包,在tcpreplay回放的时候会提示超出mtu限制,导致部分数据回放失败,这样需要通过ifconfig eth0 mtu来修改mtu默认值
tcpreplay是根据目的地址和源地址来分配数据包流向,所以在这样回放的方式,会导致mac收到很多反向代理服务器的数据流量,导致mac丢失IP和路由
Gor只针对于 http流量,
可以捕获实时流量然后转发到服务器,常用命令为 ./goreplay --input-raw:80 --output-http http://xxxxxxxxx/
或者保存到本地,然后回放本地gor文件 。
./goreplay --input-raw :80 --output-file requests.gor
./goreolay --input-file requests.gor --output-http http://xxxxx/
选择gor的原因,可以将流量发送到nginx 服务器,不会像tcpreplay一样出现真机丢失ip和路由的问题,而且安装方便,可以专门针对不同的端口,比如代理站点配置的端口去获取端口流量
出现的问题:无法保存本地gor文件,目前已经通过修改.gor来构造出了gor文件