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数据包、时间戳等
阅读全文
0 0
- linux命令之----tcpdump用于截取或监视网络传输的数据包
- Linux的抓取网络数据包命令tcpdump
- 网络数据包监视程序开发(十)---截取指定网段的数据包
- Linux使用tcpdump抓取网络数据包示例
- Linux使用tcpdump抓取网络数据包示例
- Linux使用tcpdump抓取网络数据包示例
- Linux使用tcpdump抓取网络数据包示例
- Linux使用tcpdump抓取网络数据包示例
- Linux使用tcpdump抓取网络数据包示例
- Linux tcpdump命令以及相关数据包详解
- 用tcpdump抓取Android的网络数据包
- 网络数据包监视 - 类
- TcpDump 抓包 传输数据包
- linux命令之tcpdump
- linux 命令之tcpdump
- linux命令之tcpdump
- tcpdump抓取网络数据包
- Linux命令之curl - 强大的网络传输工具
- 不定期更新--lnmp配置各种坑的笔记
- [Python]Attempted relative import in non-package
- HDU3746 Cyclic Nacklace(KMP+最小循环节)
- js查找表格自动搜索移位
- Kotlin基础教程-协程
- linux命令之----tcpdump用于截取或监视网络传输的数据包
- maven私服nexus3搭建和使用
- 更改linux终端文件夹的默认颜色
- Spring MVC redirect 参数丢失解决方案
- SpringMVC配置太多?试试SpringBoot
- 二级联动
- HDevelop导出C++程序到VS 2013
- publish over ssh 实现 Jenkins 远程部署
- Linux 下查看、添加、修改环境变量