1,服务器平时流量很少,突然把带宽跑满了,查看什么数据把带宽跑忙
2,访问服务器不成功,在服务器抓包,看是否有该IP的访问结果,多用于测试环境。
2.安装tcpdump
yum install -y tcpdump
3.使用tcpdump抓包
tcpdump
tcpdump -i 网卡
tcpdump -nn 数字的方式显示IP和端口。一个n是ip
tcpdump -c x 抓包数量,x为数字
tcpdump port xx 抓指定端口的包,xx为端口号
tcpdump tcp and port xx 指定协议和端口,xx为端口号,and可以省略不写
tcpdump host xx.xx.xx.xx 指定来源IP或目标IP的包 xx.xx.xx.xx为IP地址。
tcpdump -w xx.txt 把抓的包写入一个文件,xx.txt为文件名
tcpdump -s0 -w xx.txt 抓包时防止包截断,s0的0为数字0,抓一个完整的包必须加s0。
tcpdump -r xx.txt 用户查看-w抓的包,xx.txt为文件名
-w抓的包实际是包的内容,非简单的流向。如果访问一张图片,用-w可以把这张图片抓出来。只看流向的话,可以使用重定向。
3.1 默认显示 tcpdump
抓到了很多包,但是看起来不是方便。
3.2 数字的方式显示 tcpdump -nn
3.3 指定网卡设备 tcpdump -i lo
自己在新的标签页curl
3.4 指定包的数量 tcpdump -c 3
只抓3个包
3.5 指定IP和端口
4. 抓包的格式详解
主要看来源IP和目标IP,这两列。
例如:
16:52:25.923003 IP 10.10.8.3.59557 > 192.168.0.139.22: Flags [.], ack 196, win 16324, length 0
16:52:25.923003:时间.毫秒
IP:IP
10.10.8.3.59557:来源IP.port
> 192.168.0.139.22:目标IP.port
Flags [.], ack 196, win 16324, length 0:略
5. 抓包内容写入文件并查看
# tcpdump host 192.168.0.139 -w 1.txt
Ctrl + C 键 结束
查看文件,发现乱码。
# tcpdump -r 1.txt
6.扩展
tshark命令可以抓包。下面这边命令可以显示IP访问的具体文件。
tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
原文地址:http://blog.51cto.com/11060853/2113574