概述

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

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

tcpdump基于底层libpcap库开发,运行需要root权限。

一、tcpdump安装
  1. 环境 虚拟机:vmware 15.5.2 os: ubuntu 12.04

  2. 安装tcpdump

1. 截获主机收到和发出的所有数据包。

命令:

2. 指定抓包数量 -c

指定抓取2个数据包。

命令:

3. 将抓包信息写入文件 -w

使用-w选项指定记录文件。

命令:

tcpdump -r tcpdump_test.log

![读取记录文件网络/命令行抓包工具tcpdump详解_tcpdump

6. 指定监控的网卡 -i

命令:

tcpdump -v
网络/命令行抓包工具tcpdump详解_tcpdump_029. 增加抓包时间戳 -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 -A
网络/命令行抓包工具tcpdump详解_tcpdump_03tcpdump -c 1 -X网络/命令行抓包工具tcpdump详解_tcpdump_04