温馨提示×

Debian Sniffer如何进行数据包过滤

小樊
62
2025-03-24 13:13:09
栏目: 智能运维

在Debian系统上,可以使用多种工具进行数据包过滤,其中最常用的是 tcpdumpWireshark。以下是这两种工具的详细使用方法:

tcpdump 命令

tcpdump 是一个非常强大的命令行网络分析工具,它可以捕获网络接口上的数据包,并根据特定的过滤条件显示出来。以下是一些常用的 tcpdump 过滤命令示例:

  • 捕获所有数据包

    sudo tcpdump
    
  • 指定捕获特定网络接口的数据包

    sudo tcpdump -i eth0
    
  • 指定捕获特定协议的数据包

    sudo tcpdump icmp
    
  • 指定捕获特定源或目标IP地址的数据包

    sudo tcpdump host 192.168.1.100
    
  • 指定捕获特定端口的数据包

    sudo tcpdump port 80
    
  • 捕获特定源和目的地址之间的数据包

    sudo tcpdump src 192.168.1.100 and dst 192.168.2.100
    
  • 捕获特定网络接口的数据包

    sudo tcpdump -i eth0
    

Wireshark 过滤命令

Wireshark 是一个图形界面的网络分析工具,它提供了丰富的过滤选项来提取所需的数据包。以下是一些常用的 Wireshark 过滤命令示例:

  • 根据 IP 地址过滤

    • 筛选出源 IP 地址是 192.168.3.77 的全部数据包:
      ip.addr == 192.168.3.77
      
    • 筛选出源 IP 地址是 182.254.3.77 的数据包:
      ip.src == 182.254.3.77
      
    • 筛选出目的地址是 192.168.1.114 的数据包:
      ip.dst == 192.168.1.114
      
  • 根据端口过滤

    • 根据 TCP 端口筛选数据包,包括源端口和目的端口:
      tcp.port == 80
      
    • 根据 TCP 目的端口筛选数据包:
      tcp.dstport == 80
      
    • 根据 TCP 源端口筛选数据包:
      tcp.srcport == 80
      
    • 根据 UDP 端口筛选数据包,包括源端口和目的端口:
      udp.port == 1234
      
    • 根据 UDP 源端口筛选数据包:
      udp.srcport == 1234
      
    • 根据 UDP 的目的端口筛选数据包:
      udp.dstport == 1234
      
  • 根据协议过滤

    • 筛选出 http 协议中 GET 请求的数据包:
      http.request.method == "GET"
      
    • 筛选出 http 协议中的 POST 请求的数据包:
      http.request.method == "POST"
      
  • 根据 Payload Type 条件过滤

    • 根据网络包的 Payload Type 类型进行条件过滤,比如根据下图中的 111 枚举值过滤:
      rtp.p_type == 111
      
  • 根据组合条件过滤

    • 筛选出源 IP 地址是 192.168.3.77 且目的 IP 地址是 192.168.3.78 的数据包:
      ip.src_host == 192.168.3.77 && ip.dst_host == 192.168.3.78
      
    • 筛选出源 IP 地址是 192.168.3.77 或者源 IP 地址是 192.168.3.78 的数据包:
      ip.src_host == 192.168.3.77 || ip.src_host == 192.168.3.78
      
    • 筛选出不是 IP 地址 192.168.3.77 的数据包:
      !(ip.addr == 192.168.3.77)
      ```。
      
      

这些工具提供了灵活且强大的数据包过滤功能,能够满足不同用户在网络管理和安全分析方面的需求。

0