用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
tcpdump基于底层libpcap库开发,运行需要root权限。
一、tcpdump安装-
环境 虚拟机:vmware 15.5.2 os: ubuntu 12.04
-
安装tcpdump
1. 截获主机收到和发出的所有数据包。
命令:
2. 指定抓包数量 -c
指定抓取2个数据包。
命令:
3. 将抓包信息写入文件 -w
使用-w选项指定记录文件。
命令:
tcpdump -r tcpdump_test.log
![读取记录文件
6. 指定监控的网卡 -i
命令:
tcpdump -v9. 增加抓包时间戳 -tttt选项
tcpdump的所有输出打印行中都会默认包含时间戳信息;时间戳信息的显示格式如下
增加抓包时间戳四、条件过滤
2. 过滤:指定协议的端口号
使用port参数,用于指定端口号。
命令:tcpdump tcp port 80
使用portrange参数,用于指定端口范围。
命令:tcpdump tcp portrange 1-1024
tcpdump host 192.168.1.113
注意:若使用了host参数使用了计算机名或域名。例tcpdump host shi-pc ,则无法再使用-n选项。
tcpdump less 10
五、 逻辑表达式使用基本逻辑组合拼装出更精细的过滤条件。
2. 逻辑或
逻辑或关系,使用or。
命令:
tcpdump not tcp port 22
tcpdump ! tcp port 22
1. 打印所有进入或离开sundown的数据包.
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
4. 监视所有送到主机hostname的数据包
tcpdump tcp port 23 and host 210.27.48.1
7. 使用tcpdump抓取HTTP包
tcpdump -c 1 -Atcpdump -c 1 -X