在Linux中,tcpdump是一个常用的网络抓包工具,它可以捕获经过网络接口的数据包,并根据指定的过滤器规则进行筛选。以下是如何配置tcpdump过滤器的步骤:
1. 基本语法
tcpdump的过滤器使用BPF(Berkeley Packet Filter)语法。基本格式如下:
tcpdump [选项] [表达式]
2. 常用过滤器表达式
-
主机:
host或net <网络>host 192.168.1.1:捕获与IP地址192.168.1.1相关的数据包。net 192.168.1.0/24:捕获与192.168.1.0网络相关的数据包。
-
端口:
port <端口号>或portrange <起始端口>-<结束端口>port 80:捕获目标或源端口为80的数据包。portrange 80-89:捕获目标或源端口在80到89之间的数据包。
-
协议:
proto <协议>或tcp、udp、icmpproto tcp:捕获TCP协议的数据包。udp:捕获UDP协议的数据包。
-
方向:
src、dst、src or dstsrc host 192.168.1.1:捕获源IP为192.168.1.1的数据包。dst port 80:捕获目标端口为80的数据包。
3. 组合过滤器
可以使用逻辑运算符组合多个过滤器表达式:
and:逻辑与or:逻辑或not:逻辑非
例如:
tcpdump host 192.168.1.1 and port 80
这个命令会捕获与IP地址192.168.1.1相关且目标或源端口为80的数据包。
4. 高级过滤器
-
时间范围:
-c <数量>或-G <秒数>和-W <文件数>-c 100:捕获100个数据包后停止。-G 60和-W 4:每60秒保存一次数据包到文件,最多保存4个文件。
-
输出格式:
-w <文件>或-nn-w capture.pcap:将捕获的数据包保存到文件capture.pcap。-nn:不解析协议名称和端口名称,显示数字。
5. 示例
以下是一些示例命令:
# 捕获与IP地址192.168.1.1相关且目标端口为80的数据包
tcpdump host 192.168.1.1 and dst port 80
# 捕获源端口为22且目标网络为192.168.1.0/24的数据包
tcpdump src port 22 and net 192.168.1.0/24
# 捕获所有TCP数据包并保存到文件
tcpdump -w all_tcp_packets.pcap tcp
# 捕获前100个数据包并显示详细信息
tcpdump -c 100 -nn
6. 注意事项
- 运行
tcpdump可能需要root权限。 - 过滤器表达式区分大小写。
- 使用
tcpdump -n可以查看过滤器表达式的解释。
通过以上步骤,你可以灵活地配置tcpdump过滤器来捕获和分析网络流量。
以上就是关于“如何配置Linux Sniffer的过滤器”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm