我捕捉到了袜子的流量。交通状况就像-
client_ip <-> 127.0.0.1:9050 <-> destination_ip
因此,查看wireshark中的pcap显示:
src_ip = 127.0.0.1
dst_ip = 127.0.0.1是否可以更改src_ip和dst_ip地址?
我试过这样做:
bittwiste -I in.pcap -O out.pcap -T ip -p 6 -s 127.0.0.1,1.2.3.4 -d
127.0.0.1,4.3.2.1但是,只有第一个数据包被修改。所有从第二次开始的数据包保持不变。
我还尝试将tcprewrite作为:
tcprewrite --seed=325 --infile=in.pcap --outfile=out.pcap这将所有src_ip & dst_ip (127.0.0.1)更改为相同的随机IP,因为它似乎只找到一个(相同)端点IP。
如何在socks流量捕获中修改src和dst ip地址?
谢谢
发布于 2017-08-19 21:33:24
TL;博士,tcprewrite的--endpoints选项就是你要找的东西。它需要一个来自tcpprep的缓存文件。
$ tcpprep --port --pcap=in.pcap --cachefile=in.cache
$ tcprewrite --cachefile=in.cache --endpoints=1.2.3.4:4.3.2.1 --infile=in.pcap --outfile=out.pcap
$
$ tshark -r out.pcap
1 0.000000 1.2.3.4 → 4.3.2.1 TCP 74 49870 → 80 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10438137 TSecr=0 WS=128
2 0.000030 4.3.2.1 → 1.2.3.4 TCP 74 80 → 49870 [SYN, ACK] Seq=0 Ack=1 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10438137 TSecr=10438137 WS=128
3 0.000051 1.2.3.4 → 4.3.2.1 TCP 66 49870 → 80 [ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=10438137 TSecr=10438137
4 0.000101 1.2.3.4 → 4.3.2.1 HTTP 139 GET / HTTP/1.1
5 0.000121 4.3.2.1 → 1.2.3.4 TCP 66 80 → 49870 [ACK] Seq=1 Ack=74 Win=43776 Len=0 TSval=10438137 TSecr=10438137
6 0.023045 4.3.2.1 → 1.2.3.4 HTTP 11642 HTTP/1.1 200 OK (text/html)
7 0.023094 1.2.3.4 → 4.3.2.1 TCP 66 49870 → 80 [ACK] Seq=74 Ack=11577 Win=174720 Len=0 TSval=10438143 TSecr=10438143
8 0.023517 1.2.3.4 → 4.3.2.1 TCP 66 49870 → 80 [FIN, ACK] Seq=74 Ack=11577 Win=174720 Len=0 TSval=10438143 TSecr=10438143
9 0.023547 4.3.2.1 → 1.2.3.4 TCP 66 80 → 49870 [FIN, ACK] Seq=11577 Ack=75 Win=43776 Len=0 TSval=10438143 TSecr=10438143
10 0.023560 1.2.3.4 → 4.3.2.1 TCP 66 49870 → 80 [ACK] Seq=75 Ack=11578 Win=174720 Len=0 TSval=10438143 TSecr=10438143解释
根据tcprewrite的说法,--endpoints=ip1:ip2重写了所有的数据包,看起来是在ip1和ip2之间。但是,该选项需要--cachefile选项。
tcpprep缓存文件根据端口、IP地址、MAC地址等使用将交通分成两边。在这里,根据维基,我们希望使用--port选项。
https://stackoverflow.com/questions/42283757
复制相似问题