工具安装
一、tcpdump安装
1、云主机:CentOS 7.6
2、安装tcpdump
3. 版本查看
可以看出tcpdump版本和libpcap库版本
二、tcpdump参数
该工具常用参数选项和作用:
参数 | 参数含义 |
-c | 设置指定的数据包收取数; |
-e | 显示数据链路层信息; |
-n | 直接显示IP地址,不显示成域名; |
-nn | 显示查看 IP 和端口号,而且在抓取大量数据时非常高效 |
-s | tcpdump 默认只会截获前96字节的内容,要想截取指定字节的报文内容,可以使用-s number,number表示要截取的报文字节数,如果是 0 的话,表示截取报文全部内容; |
-t | 在输出的每一行不打印时间戳; |
-v | 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; |
-vv | 输出详细的报文信息; |
-w | 将抓获数据写入指定文件; |
-i | 选择要捕获的接口,通常是以太网卡或无线网卡; |
proto | 过滤指定协议协议的数据报文; |
port | 过滤指定端口的数据包报文; |
host | 过滤包含指定主机ip的数据报文; |
三、命令选项操作演示及说明
1.首先先理解tcpdump指令的输出:
和普通指令终止的方式一样,Ctrl+C可终止执行tcpdump命令
数据包格式为:
时间 源IP 端口/协议 > 目标IP 端口/协议 协议详细信息
PS:">"符号代表数据的方向
2. 指定抓包数量 -c
设定抓取6个数据包
信息展示如下:
3. 指定监听接口 -i
4.打印更详细的数据包信息 -v和-vv
-v:
-vv:
可以看出-vv打印的信息更详细
5.不显示时间
6.不显示域名-n -nn
-n:
-nn:
对比可以看出,-nn比-n显示的信息更详细,具体到ip和端口,更方便分析
7.增加过滤信息proto、port、host
协议:
端口:
主机ip:
四、 逻辑表达式
逻辑表达式可以拼接出更复杂的过滤策略,更好的筛选数据包;
1. and(和)
①
②
2. or(或)
可看到两个ip的包都有抓到
3. not(非)
有时候为了不让ssh远程端口影响到主要数据包的收集,所以一般需要禁止ssh数据包的输出。会用到以下两个方式: