tcpdump
今天,我们学习的是一款名为tcpdump的抓包软件tcpdump是 Linux/Unix 系统中最强大、最常用的。它允许用户拦截和显示网络接口上传输的 TCP/IP 数据包,是网络管理员和安全专家进行故障排查、网络分析和安全审计的必备工具。
今天,我们学习的是一款名为tcpdump的抓包软件
tcpdump 是 Linux/Unix 系统中最强大、最常用的命令行网络数据包分析工具。它允许用户拦截和显示网络接口上传输的 TCP/IP 数据包,是网络管理员和安全专家进行故障排查、网络分析和安全审计的必备工具。
核心功能
- 抓包:实时捕获经过指定网络接口的数据包。
- 过滤:支持强大的过滤表达式(BPF 语法),可以只抓取特定 IP、端口、协议或标志位的数据包。
- 分析:以人类可读的格式显示数据包的详细信息(如源/目的 IP、端口、协议类型、载荷内容等)。
- 保存:可以将捕获的数据包保存到文件(通常是
.pcap格式),以便稍后使用 Wireshark 等图形化工具进行深度分析。
这里介绍几个比较常用的几个过滤语法:
基于ip/域名:
1.tcpdump host+ip/域名(指定某个主机,既只看这个主机的信息)
2.tcpdump src host+ip/域名(只看发送端为指定的ip/域名的信息)
3.tcpdump dst host+ip/域名(只看接收端为指定的ip/域名的信息)
基于端口:
4.tcpdump port+端口号(指定单个端口)
5.tcpdump portrange+端口范围(端口范围)
基于协议:
tcpdump tcp
tcpdump udp
tcpdump icmp # Ping 命令使用的协议
tcpdump arp # 地址解析协议
tcpdump dns # 域名解析 (等价于 port 53)
当然除了这些还可以通过添加参数来进一步进行快捷过滤,例如:
# 推荐始终加上 -nn,让输出更清晰、速度更快 sudo tcpdump -nn port 80
这是最重要的参数组合。默认情况下,tcpdump 会尝试把 IP 解析成域名(如 www.google.com),把端口解析成服务名(如 http)。这不仅慢,还会产生额外的 DNS 流量干扰分析。
# 抓取 HTTP 流量并直接 readable 的文本 sudo tcpdump -nn -A port 80
如果你只想看 HTTP 请求、HTML 代码或报错信息,不想看一堆十六进制乱码,用 -A。它会以 ASCII 码打印数据包内容。
更多推荐
所有评论(0)