linux下抓包工具--tcpdump介绍
文章目录
• • 1. 前言 • 2. 命令介绍 • 3. 常见选项 • • • 3.1. 接口与基本控制 • 3.2 输出控制 • 3.3 文件操作 • 3.4 高级调试 • 4. 过滤表达式 • • • 4.1 协议类型 • 4.2 方向与地址 • 4.3 逻辑运算符 • 5. 典型使用场景 • • • 5.1 网络故障排查 • 5.2 安全分析与入侵检测 • 5.3 性能分析与优化
linux下抓包工具--tcpdump介绍
1. 前言
⽹络世界中的数据包交互我们⾁眼是看不⻅的,这个时候对于我们而言就是很抽象,如果可以把交互过程“可视化”,我们就更容易了解网络了。tcpdump
和wireshark
就是2个分析网络的神器。
• tcpdump 仅⽀持命令⾏格式使⽤,常⽤在 Linux 服务器中抓取和分析⽹络包。 • Wireshark 除了可以抓包外,还提供了可视化分析⽹络包的图形⻚⾯。
这两个工具实际上是搭配使⽤的,先⽤ tcpdump
命令在 Linux 服务器上抓包,接着把抓包的⽂件拖出到
Windows 电脑后,⽤ Wireshark 可视化分析。如果实在 win 环境下,直接使用 Wireshark 就可以了。
本文主要针对tcpdump
抓包进行介绍。
2. 命令介绍
tcpdump
命令格式如下:
tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ][ -i interface ] [ -r file ] [ -s snaplen ][ -T type ] [ -w file ] [ expression ]# 简化一下命令形式tcpdump [选项] [过滤表达式]
核心组成:
• 选项:控制抓包行为(如接口选择、输出格式、保存文件等)。 • 过滤表达式:基于协议、IP、端口等条件筛选数据包
3. 常见选项
3.1. 接口与基本控制
选项 | 作用 | 示例 |
-i <接口> | eth0 、any ) | tcpdump -i eth0 |
-c <数量> | tcpdump -c 10 | |
-D | tcpdump -D |
3.2 输出控制
选项 | 作用 | 示例 |
-n | tcpdump -n | |
-nn | tcpdump -nn | |
-v/-vv | tcpdump -vv | |
-A | tcpdump -A | |
-X | tcpdump -X |
3.3 文件操作
选项 | 作用 | 示例 |
-w <文件> | tcpdump -w capture.pcap | |
-r <文件> | tcpdump -r capture.pcap | |
-C <大小> | tcpdump -C 100 |
3.4 高级调试
选项 | 作用 | 示例 |
-e | tcpdump -e | |
-t | tcpdump -t |
4. 过滤表达式
过滤表达式由 协议类型、方向、逻辑运算符 组合构成:
4.1 协议类型
• 协议: tcp
、udp
、icmp
、arp
等。• 示例: tcpdump icmp
(仅抓ICMP包)# ether:icmp协议中没有源ip和目的ip,所以需要依赖于ether 协议tcpdump -i wlan0 ether src 48:8f:4c:ee:c6:aa #抓取源mac为48:8f:4c:ee:c6:aa的数据包
4.2 方向与地址
• 方向: src
(源)、dst
(目标)、host
【src or dst
(双向)】。• IP/端口: host 192.168.1.1
、port 80
、portrange 1-1024
(portrange
用于指定端口范围,格式为portrange start-end
)
sudo tcpdump 'src 192.168.1.106 and src port 22'# 抓取来自192.168.1.106的SSH流量
4.3 逻辑运算符
• 与: and
(如tcp and port 80
)。• 或: or
(如host 192.168.1.1 or 192.168.1.2
)。• 非: not
(如not arp
)
5. 典型使用场景
5.1 网络故障排查
• 场景:当遇到网络连接延迟、丢包或服务不可达时,通过抓包分析数据包交互过程。 • 示例: • 排查 SSH 连接缓慢
若发现大量 DNS 查询请求,可能是 DNS 解析延迟导致问题。sudo tcpdump -i eth0 port 22
• 分析 TCP 握手失败 sudo tcpdump -i wlan0 'tcp[tcpflags] & (tcp-syn | tcp-ack) != 0'
• 检测ICMP不可达错误 sudo tcpdump 'icmp[0] == 3'# 抓取ICMP目标不可达消息
5.2 安全分析与入侵检测
• 场景:检测异常流量(如端口扫描、DDoS 攻击)或未授权访问。 • 示例: • 捕获高频 SYN 包(可能为 SYN Flood 攻击): `sudo tcpdump -i wlan0 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0' | wc -l`
• 分析恶意 HTTP 请求: sudo tcpdump -i wlan0 'port 80 and (tcp port 80) and (tcp[tcpflags] & tcp-push != 0)' | grep "GET /malicious.php"
5.3 性能分析与优化
• 场景:监控网络带宽占用、协议开销或优化网络参数(如 TCP 窗口大小)。 • 示例: • 统计特定端口的流量速率: `sudo tcpdump -i wlan0 -c 1000 port 443 | pv -l -s 10M > /dev/null`
• 分析 TCP 重传率: sudo tcpdump -i wlan0 'tcp & 0x08 != 0'#通过标志位 0x08(重传标志)判断丢包情况
链接: https://blog.csdn.net/qq_40642828/article/details/147671835?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d060a2827379a20eaf3873db2657ca4c%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=d060a2827379a20eaf3873db2657ca4c&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-7-147671835-null-null.142^v102^pc_search_result_base1&utm_term=tcpdump%20&spm=1018.2226.3001.4187
(版权归原作者所有,侵删)
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...