你的位置:首页 > 操作系统

[操作系统]web异常流量定位:iftop+tcpdump+wireshark


一个简单的运维小经验。

场景:web服务器出现异常流量,web集群内部交互出现大流量,需要定位具体的http请求,以便解决问题。
目的:找出产生大流量的具体http请求。
工具:
       iftop:linux网卡实时流量监控工具
tcpdump:linux抓包工具
wireshark:抓包分析工具
 
环境:linux redhat6.4   nginx+apache  网卡:eth1
 
nginx负责反向代理负载均衡以及静态文件处理,apache负责php处理。
问题发生的原因是apache与nginx之间产生了异常的流量,
源为:192.168.1.14 随机端口
目的:192.168.1.18:80 其中一台apahce
 
1、在异常流量发生的同时使用如下命令在1.14上进行抓包:
tcpdump -i eth0 -vnn dst host 192.168.1.18 and dst port 80 -w /home/temp/filedump
 
2、在抓包同时使用iftop命令监控1.14的网卡流量
iftop -i eth1   进入界面后点击n p 监控实际ip与端口
 
3、实时观察nginx(1.14)与apache(1.18)之间的交互,并记录1.14的通信端口,多记录几个
如下:48166,49033,51766
 
4、结束抓包,并将抓到的包下载到本地并使用wireshark打开。
找到相应端口的TCP请求,并向上回溯,找到所从属的http请求,即可找到异常流量的来源。
如下图:

找到49033端口第一次出现的位置,上面就是产生异常流量的http请求。

 
5、根据定位http请求解决问题即可,后续并没有什么,具体情况具体分析。