linux网络网络抓包工具tcpdump详解

介绍

tcpdump是一个运行在命令行下的抓包工具,它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。

安装

[root@k8smaster ~]# yum install -y tcpdump

命令解释说明

[root@k8smaster ~]# tcpdump --help
tcpdump version 4.9.2
libpcap version 1.5.3
OpenSSL 1.0.2k-fips  26 Jan 2017
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
        [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
        [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
        [ -Q|-P in|out|inout ]
        [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
        [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
        [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
        [ -Z user ] [ expression ]
[root@k8smaster ~]#
-s number:tcpdump默认只会截取前96字节的内容,要想截取所有的报文内容,就需要使用这个选项,其中number是需要截取的报文字节数,如果是0的话,表示截取报文全部内容;
-nn:表示不解析域名,直接显示IP,在netstat命令中,也有这个选项;
-X:同时使用hex和ascii显示报文内容;
-S:显示绝对的序列号(sequence number),而不是相对编号;
-i:指定监听的网卡
-w:将监听到的数据包写入文件中保存,而并不分析和打印出来
-c number:表示截取number个报文,然后结束

常规案例

命令:tcpdump -i ens33
说明:监视指定网络接口的数据包

命令:tcpdump host 192.168.23.100
说明:截获192.168.23.100主机收到的和发出的所有数据包

命令:tcpdump -i ens33 src host 192.168.23.100
说明:监视ens33网卡上源地址是192.168.23.100的所有网络包

命令:tcpdump -i ens33 dst host 192.168.23.100
说明:监视ens33网卡上目的地址是192.168.23.100的所有网络包

命令:tcpdump tcp port 23 and host 192.168.23.100
说明:获取主机192.168.23.100上端口为23的应用发出和接收的所有TCP协议包

命令:tcpdump udp port 123
说明:获取本机123端口发出和接收的所有UDP协议包

命令:tcpdump -i ens33 -s0 -G 60 -Z root -w %Y_%m%d_%H%M_%S.pcap
说明:抓取报文后按照指定时间间隔保存;-G选项后面接时间,单位为秒;上述命令就是每隔60秒生存一个文件,抓包时防止包截断,s0的0为数字0,抓一个完整的包必须加s0

命令:tcpdump -i ens33 -s0 -C 1 -Z root -w ens33Packet.pcap 
说明:抓取报文后按照指定报文大小保存;-C选项后接文件大小,单位为MB;上述命令就是每抓包文件达到1MB时就使用一个新的文件保存新抓的报文,抓包时防止包截断,s0的0为数字0,抓一个完整的包必须加s0

发布了60 篇原创文章 · 获赞 20 · 访问量 4581

猜你喜欢

转载自blog.csdn.net/zhaikaiyun/article/details/104879968
今日推荐