tcpdump获取请求的URL

一、tcpdump示例

1、在网口eth0上抓取主机地址为192.168.0.250的所有数据包

tcpdump -i eth0 host 192.168.0.250

2、在网口eth0上抓取网络地址为192.168.0.0/24的所有数据包

tcpdump  -i eth0 net 192.168.0.0/24

3、在网口eth0上抓取源端口为80且目的端口为8080的数据包

tcpdump -i eth0 src port 8080 and dst port80

二、

1、捕捉Get和Post以及端口号为8080

tcpdump -i eth0  port 80 and (tcp[20:2]=0x4745 or tcp[20:2]=0x504f) -w /tmp/tcp.cap

2、通过strings命令来找出GET/POST的url以及Host

strings /tmp/tcp.cap | grep -E "GET /|POST /|Host:"

三、该指令常见参数解释

tcpdump -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 -s0 -G 60 host 189.62.81.144 -w /data/pack/`date +%s`.cap

1、-i eth0:指定eth0网卡

2、tcp[20:2]=0x4745 or tcp[20:2]=0x4854:只抓取http的GET和POST包

3、-s0:这里的-s0 表示每个报文的大小是接收到的指定大小,如果没有这个选项,则超过比如1500字节的报文,就会被切除1500字节以外的部分

4、-G 60:抓取报文后隔指定的时间保存一次,60秒

5、host 116.62.81.155:指定主机包

6、-w:写入指定文件

四、常见问题与解决

问题:tcpdump:eth0:No such device exists
解决:

ifconfig -a

tcpdump获取请求的URL_第1张图片
红线即为你的网卡名称,将eth0换成你的网卡名称即可

tcpdump -D

tcpdump获取请求的URL_第2张图片

你可能感兴趣的:(linux与docker学习)