文章目录
前言一、tcpdump是什么?二、工具软件安装二、工具命令简介总结前言
日常运维中,我们经常会用到抓包工具来捕获一些数据以便来分析业务系统收发包情况,今天我们将一起学习下如何在银河麒麟服务器操作系统上使用tcpdump工具进行抓包分析。
一、tcpdump是什么?
tcpdump 是一个强大的网络监控工具,它允许用户自定义地过滤网上流量数据包,同时它是一款命令行程序,我们可以在没有ui的linux服务器上运行它,达到我们的抓包目的。
二、工具软件安装
查询系统是否已安装tcpdump:
rpm -qa |grep tcpdump #若返回如下 ,说明系统已安装
在线安装命令
sudo yum install -y tcpdump
二、工具命令简介
1、列出所有网卡
命令:tcpdump -D
[root@localhost ~]# tcpdump -D1.ens33 [Up, Running]2.lo [Up, Running, Loopback]3.any (Pseudo-device that captures on all interfaces) [Up, Running]4.bluetooth-monitor (Bluetooth Linux Monitor) [none]5.nflog (Linux netfilter log (NFLOG) interface) [none]6.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]7.bluetooth0 (Bluetooth adapter number 0) [none]8.usbmon0 (Raw USB traffic, all USB buses) [none]9.usbmon1 (Raw USB traffic, bus number 1)10.usbmon2 (Raw USB traffic, bus number 2)[root@localhost ~]#
2、抓取某个网口的包。
命令tcpdump -i接口
[root@localhost ~]# tcpdump -i ens33dropped privs to tcpdumptcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes17:37:11.870931 IP localhost.localdomain.ssh > 192.168.10.1.8532: Flags [P.], seq 2798748933:2798749013, ack 661567704, win 501, length 80
3、根据条件抓取报文
命令tcpdump -i 接口 协议/端口号
[root@localhost ~]# tcpdump -i ens33 -c 4 port 80dropped privs to tcpdumptcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
4、限制抓包数量
命令tcpdump -i 接口 -c
[root@localhost ~]# tcpdump -i ens33 -c 3dropped privs to tcpdumptcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes17:43:34.941187 IP localhost.localdomain.ssh > 192.168.10.1.8532: Flags [P.], seq 2798802869:2798802917, ack 661574152, win 501, length 4817:43:34.944467 IP localhost.localdomain.ssh > 192.168.10.1.8532: Flags [P.], seq 48:96, ack 1, win 501, length 4817:43:34.945140 IP localhost.localdomain.ssh > 192.168.10.1.8532: Flags [P.], seq 96:144, ack 1, win 501, length 483 packets captured8 packets received by filter0 packets dropped by kernel[root@localhost ~]#
5、抓包保存为pcap格式
命令tcpdump -i 接口 -w xxxx.pcap
[root@localhost ~]# tcpdump -i ens33 -c 10 -w /home/test.pcapdropped privs to tcpdumptcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes10 packets captured22 packets received by filter0 packets dropped by kernel[root@localhost ~]# ll /home/test.pcap-rw-r--r-- 1 tcpdump tcpdump 935 7月 26 17:49 /home/test.pcap[root@localhost ~]#
总结
tcpdump是一款非常好用的工具,可以很轻松实时分析解决我们在服务器上遇到的网络问题。