首页主机资讯Ubuntu Sniffer如何进行流量过滤

Ubuntu Sniffer如何进行流量过滤

时间2025-10-28 22:17:04发布访客分类主机资讯浏览212
导读:Ubuntu Sniffer流量过滤方法 在Ubuntu系统中,常用的流量过滤工具包括tcpdump(命令行)和Wireshark(图形界面),两者均支持通过过滤表达式精准定位目标流量。以下是具体操作指南: 一、使用tcpdump(命令行工...

Ubuntu Sniffer流量过滤方法
在Ubuntu系统中,常用的流量过滤工具包括tcpdump(命令行)和Wireshark(图形界面),两者均支持通过过滤表达式精准定位目标流量。以下是具体操作指南:

一、使用tcpdump(命令行工具)过滤流量

tcpdump是Ubuntu默认安装的网络抓包工具(若未安装,可通过sudo apt install tcpdump安装),适用于快速捕获和过滤命令行环境下的流量。

1. 基础过滤

  • 按协议过滤:捕获指定协议的流量(如HTTP、ICMP)。
    示例:捕获eth0接口的HTTP流量(端口80):
    sudo tcpdump -i eth0 port 80
    捕获所有ICMP流量(ping请求/响应):
    sudo tcpdump -i eth0 icmp

  • 按IP地址过滤:捕获与特定IP相关的流量(源/目标)。
    示例:捕获与192.168.1.100相关的所有流量:
    sudo tcpdump -i eth0 host 192.168.1.100
    捕获来自192.168.1.100的流量:
    sudo tcpdump -i eth0 src 192.168.1.100
    捕获发送到192.168.1.100的流量:
    sudo tcpdump -i eth0 dst 192.168.1.100

  • 按端口过滤:捕获指定端口的流量(如SSH端口22)。
    示例:捕获eth0接口的SSH流量:
    sudo tcpdump -i eth0 port 22

2. 组合过滤

通过and(与)、or(或)、not(非)组合多个条件,精确定位流量。
示例:捕获192.168.1.100主机的HTTPS流量(端口443,TCP协议):
sudo tcpdump -i eth0 'tcp and port 443 and host 192.168.1.100'
示例:捕获来自192.168.1.0/24网段的HTTP流量:
sudo tcpdump -i eth0 'src net 192.168.1.0/24 and port 80'

3. 高级过滤

  • 排除特定流量:忽略不需要的流量(如ICMP ping包)。
    示例:捕获所有流量,但排除ICMP:
    sudo tcpdump -i eth0 not icmp

  • 按数据包大小过滤:捕获指定大小范围的流量(如100-500字节)。
    示例:捕获TCP流量,且有效负载长度在100-500字节之间:
    sudo tcpdump -i eth0 'tcp and tcp.len > = 100 and tcp.len < = 500'

4. 保存与读取捕获文件

  • 保存到文件:将捕获的流量保存为.pcap文件(供后续分析)。
    示例:捕获eth0接口的流量并保存到capture.pcap:
    sudo tcpdump -i eth0 -w capture.pcap

  • 读取文件:用tcpdump读取.pcap文件并分析。
    示例:读取capture.pcap文件:
    sudo tcpdump -r capture.pcap

二、使用Wireshark(图形界面工具)过滤流量

Wireshark是功能强大的图形化协议分析工具(需安装:sudo apt install wireshark),支持实时过滤和深度分析数据包。

1. 启动与捕获流量

  • 启动Wireshark后,选择要监听的网络接口(如eth0、wlan0),点击“开始捕获”。
  • 实时查看数据包的源/目的IP、端口、协议等信息,点击红色方形“停止”按钮结束捕获。

2. 基础显示过滤

在顶部过滤器栏输入过滤条件,按Enter应用(支持语法高亮和实时预览)。

  • 按协议过滤:如过滤HTTP流量:
    http
  • 按IP地址过滤:如过滤源IP为192.168.1.100的流量:
    ip.src == 192.168.1.100
    如过滤目标IP为192.168.1.100的流量:
    ip.dst == 192.168.1.100
  • 按端口过滤:如过滤TCP端口80的流量:
    tcp.port == 80

3. 组合显示过滤

使用and(与)、or(或)、not(非)组合多个条件。
示例:过滤192.168.1.100主机的HTTP POST请求(需匹配TCP端口80和POST方法):
http and tcp.port == 80 and http.request.method == "POST"
示例:过滤10.0.0.0/8网段的UDP流量:
udp and net 10.0.0.0/8

4. 高级显示过滤

  • 基于数据包内容过滤:查找包含特定关键字的流量(如“password”)。
    示例:过滤数据包中包含“password”的HTTP流量:
    http contains "password"
  • 基于数据包大小过滤:如过滤有效负载长度大于100字节的TCP流量:
    tcp.len > 100
  • 排除特定流量:如排除ARP流量:
    not arp

5. 保存与应用过滤器

  • 保存过滤器书签:在过滤器栏输入条件后,点击右侧“+”按钮,将常用过滤器保存为书签(便于下次快速使用)。
  • 导出筛选数据:应用过滤器后,点击“文件”→“导出特定分组”,选择“Displayed”(仅导出当前可见的匹配数据包),保存为新.pcap文件。

注意事项

  • 权限要求:tcpdump和Wireshark(非root用户)需使用sudo或添加到wireshark组(sudo usermod -aG wireshark $USER)才能捕获流量。
  • 合法性:捕获敏感数据(如密码、个人隐私)时,需遵守法律法规,避免未经授权的监控。
  • 性能优化:过滤条件越具体,捕获的流量越少,可减少系统资源消耗(如限制捕获数量-c 100或保存到文件-w)。

通过上述方法,可快速定位Ubuntu系统中的目标流量,有效排查网络问题或进行安全分析。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Sniffer如何进行流量过滤
本文地址: https://pptw.com/jishu/737243.html
Ubuntu Sniffer怎样设置警报通知 Ubuntu Sniffer怎样防止被检测

游客 回复需填写必要信息