首页主机资讯Linux Sniffer如何进行实时监控

Linux Sniffer如何进行实时监控

时间2025-11-28 00:07:04发布访客分类主机资讯浏览573
导读:Linux Sniffer实时监控实操指南 一、工具选型与准备 常用工具与定位 tcpdump:命令行抓包与过滤,适合服务器与终端实时查看、快速排障。 Wireshark/tshark/dumpcap:图形化与命令行抓包,协议解析能力强...

Linux Sniffer实时监控实操指南

一、工具选型与准备

  • 常用工具与定位
    • tcpdump:命令行抓包与过滤,适合服务器与终端实时查看、快速排障。
    • Wireshark/tshark/dumpcap:图形化与命令行抓包,协议解析能力强,适合深度分析。
    • iftop、nethogs、Sniffnet:按连接/进程/图形化展示带宽与流量,适合性能与占用观测。
  • 权限与接口
    • 抓包通常需要rootCAP_NET_RAW能力;先通过ip addrifconfig确认接口名(如eth0、wlan0、any)。
    • 在 Wireshark 中可创建wireshark用户组并加入当前用户,避免长期以 root 运行 GUI。

二、使用 tcpdump 进行实时监控

  • 安装与基础
    • 安装:Debian/Ubuntu 执行sudo apt-get install tcpdump;CentOS/RHEL 执行sudo yum install tcpdump(或先启用 EPEL)。
  • 常用实时命令
    • 指定接口实时查看(不做解析):sudo tcpdump -i eth0 -n
    • 监控所有接口:sudo tcpdump -i any -n
    • 仅看某端口(如 80/443/22):sudo tcpdump -i eth0 port 80tcp port 443‘tcp port 22’
    • 仅看某主机:sudo tcpdump -i eth0 host 10.0.0.5
    • 组合过滤(如某主机且某端口):sudo tcpdump -i eth0 ‘host 10.0.0.5 and tcp port 80’
    • 实时写入文件以便后续分析:sudo tcpdump -i eth0 -w capture.pcap
    • 从文件回放查看:sudo tcpdump -r capture.pcap
  • 性能与过滤建议
    • 高吞吐场景务必使用**捕获过滤器(BPF)**缩小范围,减少内核与用户态开销,避免丢包。

三、使用 Wireshark 或 tshark 进行实时监控

  • 安装与权限
    • Ubuntu 示例:sudo add-apt-repository ppa:wireshark-dev/stable & & sudo apt update & & sudo apt install wireshark;随后执行sudo usermod -aG wireshark $USER并重新登录。
  • 实时捕获要点
    • 在“Capture Options”中选择正确接口,启用**混杂模式(Promiscuous Mode)**与“Update list of packets in real time”。
    • 设置环形缓冲区(Ring Buffer)自动停止条件(如按大小/时间),避免内存溢出。
    • 容器/虚拟化环境优先选择物理网卡或 veth端点进行捕获。
  • 过滤器与诊断
    • 捕获过滤器(BPF):如tcp port 80not arphost 10.0.0.5 and tcp portrange 8000-9000
    • 显示过滤器:如http.request.method == “GET”ip.src == 192.168.1.10tcp.analysis.retransmission(定位重传)。
  • 命令行实时抓包
    • tshark -i eth0 -Y “http” -T fields -e http.host -e http.request.uri(按显示过滤器实时输出字段)。

四、带宽与进程级实时监控

  • iftop:按连接显示实时带宽占用
    • 安装:sudo apt-get install iftopsudo yum install iftop
    • 运行:sudo iftop -i eth0
  • nethogs:按进程显示实时网络占用
    • 安装:sudo apt-get install nethogssudo yum install nethogs
    • 运行:sudo nethogs eth0
  • Sniffnet:图形化实时流量监控(Rust 实现),适合快速总览与筛选。

五、实战命令清单与合规提示

  • 快速参考
    • 实时看所有接口:sudo tcpdump -i any -n
    • 只看 HTTP 流量:sudo tcpdump -i eth0 ‘tcp port 80’
    • 只看 DNS 查询:sudo tcpdump -i eth0 udp and port 53
    • 只看某主机 10.0.0.5443sudo tcpdump -i eth0 ‘host 10.0.0.5 and tcp port 443’
    • 实时写包并事后分析:sudo tcpdump -i eth0 -w cap.pcap;随后tcpdump -r cap.pcap
    • 实时看 HTTP 请求主机与路径(tshark):tshark -i eth0 -Y “http” -T fields -e http.host -e http.request.uri
  • 合规与安全
    • 抓包可能触及隐私与合规要求,务必在授权范围内使用,避免监听或保存敏感未授权数据

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


若转载请注明出处: Linux Sniffer如何进行实时监控
本文地址: https://pptw.com/jishu/758469.html
Linux Sniffer在Linux系统中的安装 Linux Sniffer如何保存捕获的数据

游客 回复需填写必要信息