1. 简介
tcpdump是一个用于截取网络分组,并输出分组内容的工具。根据使用者的定义对网络上的数据包进行截获。
tcpdump针对网络网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句辅助去掉无用的信息。
其官网地址为:tcpdump官网,在官网中存在完整的英文说明文档
2. 常用tcpdump语法
抓包选项
-A 以ASCII格式打印出所有分组,并将链路层的头最小化 -c 仅抓取指定数量的分组 -i 指定监听的网络接口 -n 对地址以数字方式显示,否则显示为主机名 -nn 除了-n的作用外,还把端口显示为数值,否则显示端口服务器 -P 指定要抓取的包是流入还是流出的包。可以给定的值为"in"、"out"、"inout" -XX 输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细 -v 当分析和打印的时候,产生详细的输出 -w 将抓包数据输出到文件中 -r 从给定的数据包文件中读取数据
|
2.1 tcpdump表达式
表达式用于筛选输出哪些类型的数据包,如果没有给定表达式,所有的数据包都将输出,否则输出表达式为true的包。在表达式中出现的shell元字符建议使用单引号包围。
一个基本的表达式单元格式为:tcpdump [options] [not] proto dir type
1. proto:通过给定协议限定匹配的数据包类型 常用的协议有:tcp/udp/arp/ip/ether/icmp等 2. dir:指定ID的方向 可以给定的值包括src/dst/src or dst/src and dst 3. type:指定ID的类型 可以给定的值有host/net/port/portrange
|
2.2 tcpdump示例
- 监视指定网络接口的数据包
- 监视指定主机的数据包
抓取主机为1.1.1.1的网络数据
指定源地址,1.1.1.1
指定目的地址,1.1.1.1
3. 监视指定端口
- 网络过滤
- 监视指定协议
- 示例语句
抓取经过eth1接口,目的地址为1.1.1.1或1.1.1.2端口是80的tcp数据
|