linux命令之----tcpdump用于截取或监视网络传输的数据包

来源:互联网 发布:淘宝天猫苏宁易购 编辑:程序博客网 时间:2024/06/02 04:05

用途

tcpdump简义:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

语法

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

参数说明:http://write.blog.csdn.net/postedit/72898655

  • -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、监控指定网络接口的数据包
tcpdump -i eth0
若不指定网卡,默认只会监控第一个网络接口:eth0
-------------------------
root@node33:/home/# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:59:48.754345 IP node33.ssh > 192.168.8.111.62182: Flags [P.], seq 12574410:12574618, ack 1106322318, win 159, length 208
14:59:48.754814 IP node33.38124 > 114.114.114.114.domain: 27739+ PTR? 111.8.168.192.in-addr.arpa. (44)
14:59:48.804957 IP 192.168.8.111.62182 > node33.ssh: Flags [.], ack 208, win 65019, length 0
2、监控指定主机的数据包
tcpdump host ip或主机名称:截获所有该ip的主机收到的或发出的数据包
tcpdump host 192.168.10.1 and \(192.168.10.2 or 192.168.10.3)\:截获主机
192.168.10.1 与 (192.168.10.2或192.168.10.3)之间的通信数据包
tcpdump ip host 192.168.10.1 and not 192.168.10.2:截获主机192.168.10.1 与 除了192.168.10.2其它主机的通信数据包
tcpdump -i eth0 src host hostname(ip):截获主机hostname发送的所有数据tcpdump -i eth0 dst host hostname(ip):监视所有送到主机hostname的数据包------------------------------------------------root@node33:/home/# tcpdump host 192.168.2.33 and ! 192.168.8.111tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes15:16:05.753839 IP 192.168.2.42.51898 > node33.21000: Flags [P.], seq 1527973223:1527973275, ack 1967124781, win 331, options [nop,nop,TS val 1035067489 ecr 23261083], length 5215:16:05.754611 IP node33.43638 > 114.114.114.114.domain: 48799+ PTR? 42.2.168.192.in-addr.arpa. (43)15:16:05.755441 IP node33.21000 > 192.168.2.42.51898: Flags [P.], seq 1:389, ack 52, win 114, options [nop,nop,TS val 23261584 ecr 1035067489], length 38815:16:05.755699 IP 192.168.2.42.51898 > node33.21000: Flags [.], ack 389, win 331, options [nop,nop,TS val 1035067490 ecr 23261584], length 0-------------------------------------------------root@node33:/home/bin# tcpdump host 192.168.2.33 and 192.168.8.111tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes^C15:17:48.696353 IP node33.ssh > 192.168.8.111.62182: Flags [P.], seq 25104794:25105002, ack 1106333230, win 159, length 203、监控指定主机和端口的数据包tcpdump tcp port 23 and host 192.168.2.16:获取192.168.2.16 、23端口接收或发出的数据包tcpdump udp port 514:对本机的udp 514端口接收或发出的数据包--------------------------------------------------root@node33:/home/bin# tcpdump udp port 514tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes15:22:18.986405 IP 192.168.8.111.64427 > node33.syslog: [|syslog]15:22:20.602012 IP 192.168.8.111.64427 > node33.syslog: [|syslog]15:22:21.970404 IP 192.168.8.111.64427 > node33.syslog: [|syslog]4、监控指定网络的数据包
tcpdump 'gateway snup and (port ftp or ftp-data)':打印所有通过网关snup的ftp数据包
5、监控指定协议的数据包
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

tcpdump输出信息的含义

tcpdump总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

tcpdump的输出格式与协议有关,大部分常用的格式:
链路层头、TCP数据包、UDP数据包、SMB/CIFS解码、AFS请求和回应、KIP APPLETalk协议、IP数据包、时间戳等




原创粉丝点击