Linux shell tcpdump 命令
Linux shell tcpdump 命令用于截取网络传输数据。
tcpdump 命令可列出经过指定网络界面的数据包文件头,
权限
在 Linux
只有系统管理员(root) 可使用该命令
安装 tcpdump
CentOS
yum install tcpdump
tcpdump 命令语法格式
tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
选项说明
- -a
- 尝试将网络和广播地址转换成名称。
- -c<数据包数目>
- 收到指定的数据包数目后,就停止进行倾倒操作。
- -d
- 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
- -dd
- 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
- -ddd
- 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
- -e
- 在每列倾倒资料上显示连接层级的文件头。
- -f
- 用数字显示网际网络地址。
- -F<表达文件>
- 指定内含表达方式的文件。
- -i<网络界面>
- 使用指定的网络截面送出数据包。
- -l
- 使用标准输出列的缓冲区。
- -n
- 不把主机的网络地址转换成名字。
- -N
- 不列出域名。
- -O
- 不将数据包编码最佳化。
- -p
- 不让网络界面进入混杂模式。
- -q
- 快速输出,仅列出少数的传输协议信息。
- -r<数据包文件>
- 从指定的文件读取数据包数据。
- -s<数据包大小>
- 设置每个数据包的大小。
- -S
- 用绝对而非相对数值列出TCP关联数。
- -t
- 在每列倾倒资料上不显示时间戳记。
- -tt
- 在每列倾倒资料上显示未经格式化的时间戳记。
- -T<数据包类型>
- 强制将表达方式所指定的数据包转译成设置的数据包类型。
- -v
- 详细显示指令执行过程。
- -vv
- 更详细显示指令执行过程。
- -x
- 用十六进制字码列出数据包资料。
- -w<数据包文件>
- 把数据包数据写入指定的文件。
范例
范例 1 : 显示 TCP 包信息
可以使用 CTRL + C 键停止查看
[root@localhost ~] tcpdump tcpdump: data link type PKTAP tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes 15:59:03.147237 IP 192.168.0.100.63938 > ss3.baidu.com.https: Flags [.], ack 2225550637, win 8191, length 0 15:59:03.147275 IP 192.168.0.100.63936 > ss3.baidu.com.https: Flags [.], ack 847992966, win 8191, length 0 15:59:03.147293 IP 192.168.0.100.63935 > ss3.baidu.com.https: Flags [.], ack 1911535549, win 8191, length 0 15:59:03.147309 IP 192.168.0.100.63934 > ss3.baidu.com.https: Flags [.], ack 344694440, win 8191, length 0 15:59:03.147326 IP 192.168.0.100.63932 > ss3.baidu.com.https: Flags [.], ack 835399939, win 8191, length 0 15:59:03.147345 IP 192.168.0.100.63917 > ss3.baidu.com.https: Flags [.], ack 1285793708, win 8191, length 0 15:59:03.147362 IP 192.168.0.100.63916 > ss3.baidu.com.https: Flags [.], ack 3689279037, win 8191, length 0 15:59:03.147442 IP 192.168.0.100.63906 > ss3.bdstatic.com.https: Flags [.], ack 1143328400, win 8191, length 0 15:59:03.147451 IP 192.168.0.100.63902 > ss3.baidu.com.https: Flags [.], ack 3888417184, win 8191, length 0 15:59:03.147458 IP 192.168.0.100.63900 > ss3.baidu.com.https: Flags [.], ack 1788666849, win 8191, length 0 15:59:03.147464 IP 192.168.0.100.63899 > ss3.baidu.com.https: Flags [.], ack 1048628424, win 8191, length 0 15:59:03.159930 IP 192.168.0.100.50168 > 192.168.0.1.domain: 49093+ PTR? 33.232.27.117.in-addr.arpa. (44) 15:59:03.162843 IP 192.168.0.1.domain > 192.168.0.100.50168: 49093- 1/0/0 PTR ss3.baidu.com. (71) 15:59:03.165137 IP 192.168.0.100.64187 > 192.168.0.1.domain: 43305+ PTR? 32.232.27.117.in-addr.arpa. (44) 15:59:03.166981 IP 192.168.0.1.domain > 192.168.0.100.64187: 43305- 1/0/0 PTR ss3.bdstatic.com. (74) 15:59:03.168857 IP 192.168.0.100.57874 > 192.168.0.1.domain: 22302+ PTR? 1.0.168.192.in-addr.arpa. (42) 15:59:03.175854 IP 192.168.0.1.domain > 192.168.0.100.57874: 22302 NXDomain* 0/1/0 (97) # 使用 CTRL+C 键停滞截取 17 packets captured 17 packets received by filter 0 packets dropped by kernel
范例 2 : 显示指定数量包
[root@localhost ~]# tcpdump -c 20 tcpdump: data link type PKTAP tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes 16:01:54.697128 IP 192.168.0.100.63898 > sp2.baidu.com.https: Flags [F.], seq 3772476688, ack 706884430, win 8192, length 0 16:01:54.699473 IP 192.168.0.100.52637 > 192.168.0.1.domain: 33645+ PTR? 38.177.215.14.in-addr.arpa. (44) 16:01:54.702037 IP 192.168.0.1.domain > 192.168.0.100.52637: 33645- 1/0/0 PTR sp2.baidu.com. (71) 16:01:55.059621 IP 192.168.0.104 > 224.0.0.252: igmp v2 report 224.0.0.252 16:01:55.060462 IP 192.168.0.100.60801 > 192.168.0.1.domain: 39409+ PTR? 104.0.168.192.in-addr.arpa. (44) 16:01:55.066798 IP 192.168.0.1.domain > 192.168.0.100.60801: 39409 NXDomain* 0/1/0 (99) 16:01:55.068021 IP 192.168.0.100.49476 > 192.168.0.1.domain: 23192+ PTR? 252.0.0.224.in-addr.arpa. (42) 16:01:55.076004 IP 192.168.0.1.domain > 192.168.0.100.49476: 23192 NXDomain* 0/1/0 (99) 16:01:55.572104 IP 192.168.0.104 > 239.255.255.250: igmp v2 report 239.255.255.250 16:01:55.572116 IP ans.oobesaas.adobe.com.https > 192.168.0.100.63851: Flags [P.], seq 2099433628:2099434278, ack 3121166937, win 129, options [nop,nop,TS val 210966678 ecr 753496474], length 650 10 packets captured 19 packets received by filter 0 packets dropped by kernel
范例 3 : 精简显示
[root@localhost]# tcpdump -c 5 -q tcpdump: data link type PKTAP tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes 16:03:12.452768 IP 192.168.0.100.64007 > sp2.baidu.com.https: tcp 0 16:03:12.512161 IP 192.168.0.100.64006 > ss3.baidu.com.https: tcp 0 16:03:12.512264 IP 192.168.0.100.63988 > ss3.baidu.com.https: tcp 0 16:03:12.512305 IP 192.168.0.100.63976 > ss3.baidu.com.https: tcp 0 16:03:12.512323 IP 192.168.0.100.63965 > ss3.baidu.com.https: tcp 0 5 packets captured 5 packets received by filter 0 packets dropped by kernel
范例 4 : 转换克阅读格式
[root@localhost]# tcpdump -d (000) ret #96
转换成十进制格式
[root@localhost]# tcpdump -ddd 1 6 0 0 96