温馨提示×

Linux Sniffer如何识别网络入侵

小樊
45
2025-12-29 00:25:16
栏目: 网络安全

Linux Sniffer识别网络入侵的实用方法

一 核心思路与工具定位

  • Sniffer(如 tcpdump、Wireshark)负责抓取与回放网络流量,擅长发现端口扫描、异常访问模式、可疑载荷等迹象;真正的入侵检测通常由IDS/IPS(如 Snort、Suricata)完成,Sniffer捕获的数据可作为其输入或用于取证分析。抓包常需开启混杂模式,在交换网络中建议通过端口镜像将目标流量复制到监控口。务必确保所有监控在合法授权范围内进行。

二 快速发现入侵迹象的抓包命令

  • 实时查看异常连接与扫描迹象
    • 列出当前活跃连接与对应进程:sudo netstat -tunap | egrep ‘(:22|:80|:443)’
    • 抓取某接口的 SYN 包以发现半开连接(疑似扫描):sudo tcpdump -i eth0 -nn -c 100 ‘tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0’
  • 聚焦常见攻击面
    • HTTP 可疑行为(如探测、SQL 注入特征):sudo tcpdump -i eth0 -nn -A -s 0 ‘tcp port 80 and (http.request or (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420))’
    • DNS 异常查询(域名过长、DGA 倾向):sudo tcpdump -i eth0 -nn -s 0 -X ‘udp port 53’ | egrep -i ‘dns.|long|entropy’
  • 持久化与离线分析
    • 保存全量或过滤后的流量:sudo tcpdump -i eth0 -w capture.pcap ‘tcp port 80 or udp port 53’
    • 事后用 Wireshark 打开 pcap,结合“协议分层”“追踪流”“显示过滤器”定位异常会话与载荷。

三 典型入侵场景与识别要点

场景 抓包/IDS特征 快速命令或规则示例
端口扫描 短时间内大量 SYN 到不同端口,或 SYN 后无 ACK/RST tcpdump 过滤 SYN:‘tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0’
DoS/DDoS 某 IP/端口突发大流量、连接数激增、畸形包 结合 iftop/NetHogs 看带宽与进程,抓包定位源/目的与协议
暴力破解 SSH 同一来源反复连接 22 端口并失败 tcpdump 过滤 22:‘tcp port 22 and (tcp[tcpflags] & tcp-rst != 0)’
Web 攻击 HTTP 请求中含 ’ or 1=1’union select…/、可疑 UA tcpdump 过滤 80/443 并导出到 Wireshark 检索关键字
可疑 DNS 异常长域名、频繁 TXT 查询、DGA 特征 tcpdump udp 53 并观察查询名长度与频率
数据外泄 内网主机向陌生外网 IP 大量外发数据 抓包按源/目的 IP 聚合统计,定位异常会话与方向
以上要点可先用 Sniffer 快速“看见”异常,再用 IDS 规则做持续检测与告警。

四 用 Snort 将嗅探升级为自动检测

  • 安装与运行
    • 安装依赖与 DAQ,编译安装 Snort;验证:snort -V
    • 以 IDS 模式运行:sudo snort -c /etc/snort/snort.conf -i eth0
  • 规则示例(检测 ICMP 洪泛)
    • 新建 /etc/snort/rules/local.rules
      • alert icmp any any -> $HOME_NET any (msg:“ICMP Flood detected”; itype:8; threshold: type both, track by_src, count 100, seconds 10; sid:1000001;)
    • 说明:$HOME_NET 需配置为本地网段;保存后重载 Snort 使规则生效。
  • 部署建议
    • 在交换机上配置端口镜像将关键链路流量复制到监控口;抓包与 IDS 部署在授权范围内,避免影响业务性能。

0