Linux抓包工具tcpdump

一、tcpdump抓包工具

1.命令格式解析

命令格式:tcpdump option proto dir type

proto(协议)

1.tcp、udp、icmp

2.ip、ipv6

3.arp

dir(数据的方向 )

1.src 192.168.7.130 只抓取源地址是7.130

2.dst 192.168.7.131 只抓取目的地是7.131

3.src 192.168.7.130 and dst 192.168.7.131 只抓取130到131之间的

type(抓取的数据类型)

1.host:主机

2.net:网段

3.port:端口

4.port range:端口范围

2.抓包

对网络接口抓包:tcpdump -i ens33

第一列:01:14:53.567488:时分毫秒

第二列:IP:网络协议ip

第三列:192.168.7.1.49322 >:发送方的IP地址+端口号发送数据流向给

第四列:localhost.localdomain.ssh:Flags .:主机名协议,主机名为localhost.localdomain,协议为ssh

第五列:确认号ack号、序号seq号、win窗口长度、tcp标志位

3.参数

|-------|-------------------------|
| 参数 | 功能 |
| -i | 指定监听网络监听端口 |
| -w | 将捕获信息保存到文件中,且不分析和打印在屏幕上 |
| -r | 读取上面存储的文件 |
| -n | 不把ip转换成域名,直接显示ip |
| -nn | 直接显示ip和端口号 |
| -t | 在每行的输出中,不显示时间 |
| -tt | 输出一个时间戳 |
| -ttt | 每行之间的时间间隔 |
| -tttt | 详细日期 |
| -v | 产生详细的输出 |
| -c | 指定收取数据包的数量 |
| -C | 需要与w配合使用,指定单个文件的大小 |
| -Q | 过滤数据包的方向 |
| -q | 简洁的输出 |
| -D | 显示所有可用的列表 |
| -s | 指定数据包的大小 |

4.实例

1.抓取源地址是10.0.0.6,目的地址是10.0.0.7,经过eth0网卡的icmp协议包

tcpdump -i eth0 -nn icmp and src host 10.0.0.6 and dst host 10.0.0.7

2.只监听TCP的数据包

tcpdump tcp

3.监听来自主机10.0.0.100在端口22上的TCP数据包

tcpdump tcp port 22 and src host 10.0.0.100

4.监听特定主机之间的通信

tcpdump ip src host 10.0.0.101 and 10.0.0.102

5.10.0.0.10和除了10.0.0.1之外的主机之间的通信

tcpdump ip host 10.0.0.101 and ! 10.0.0.1

6.抓取源地址为192.168.7.130,目的地址为192.168.7.131的数据流

tcpdump -i ens33 src 192.168.7.130 and dst 192.168.7.131

二、过滤规则

1.基于ip地址或网段过滤

1.host

当主机1ping主机2时只抓取目的地址是192.168.7.131有关的流量信息

tcpdump -i ens33 host 192.168.7.131

2.dst 选项 目的地址

tcpdump -i ens33 dst 192.168.7.131

3.src 选项 源地址

tcpdump -i ens33 src 192.168.7.131

4.net 选项

tcpdump net 192.168.7.130/24 -i ens33

2.基于端口过滤

1.port 端口号

抓取80端口

tcpdump -i ens33 port 80

2.抓取80或22端口

tcpdump -i ens33 port 80 or port 22

3.用范围抓取80和22端口

tcpdump -i ens33 portrange 80-22

3.基于协议过滤

应用层协议不可以直接抓取

1.tcpdump -i ens33 icmp

协议种类:ip、arp、icmp、tcp、udp

相关推荐
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB4 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao4 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏