CentOS Sniffer如何安装和设置
导读:CentOS 上 Sniffer 的安装与设置 一 概念与工具选择 Sniffer是对网络数据包进行捕获与分析的统称。常见工具包括: tcpdump:Linux 下最常用的命令行抓包工具,轻量、稳定,适合服务器侧快速排障与取证。 Wir...
CentOS 上 Sniffer 的安装与设置
一 概念与工具选择
- Sniffer是对网络数据包进行捕获与分析的统称。常见工具包括:
- tcpdump:Linux 下最常用的命令行抓包工具,轻量、稳定,适合服务器侧快速排障与取证。
- Wireshark:图形化协议分析器,适合深度分析(可在远端用 tcpdump 抓包后导入)。
- netsniff-ng:偏底层的抓包/分析套件,适合需要更高性能与更细粒度控制的场景。
- Snort:开源 NIDS/NIPS,侧重入侵检测与规则告警(抓包只是其能力的一部分)。
二 安装与快速上手 tcpdump
- 安装(多数 CentOS 已预装,如未安装可执行):
- 使用包管理器安装:sudo yum install -y tcpdump(或 dnf)。安装后可用 tcpdump --version 验证。
- 快速上手(常用命令范式:sudo tcpdump -i 接口 [选项] [过滤表达式]):
- 查看可用网卡:sudo tcpdump -D
- 抓取指定网卡(如 eth0)流量:sudo tcpdump -i eth0
- 抓取某主机的流量:sudo tcpdump -i eth0 host 192.168.1.10
- 抓取某端口(如 80)流量:sudo tcpdump -i eth0 port 80
- 抓取并保存到文件:sudo tcpdump -i eth0 -w capture.pcap
- 读取抓包文件:sudo tcpdump -r capture.pcap -nn -vv
- 常用参数说明:
- -i:指定网卡;-nn:不解析主机名/端口名;-s0:抓取完整报文;-v/-vv:详细程度;
- -w:写文件;-r:读文件;-c:抓取指定数量报文后退出。
- 过滤表达式要点(与、或、非组合):
- 主机/网段:host 192.168.1.10、net 192.168.1.0/24
- 端口/范围:port 22、portrange 1-1024
- 协议:tcp/udp/icmp/arp
- 方向:src/dst(如 src host 192.168.1.10 and dst port 80)
- 逻辑:and/or/not(如 not port 22 and host 10.0.0.1)。
三 进阶工具安装与设置
- netsniff-ng(抓包/分析套件)
- 安装依赖:sudo yum groupinstall “Development Tools” -y;sudo yum install -y ncurses-devel zlib-devel openssl-devel libpcap-devel
- 获取与编译:
- git clone https://github.com/netsniff/netsniff-ng.git
- cd netsniff-ng & & ./configure & & make & & sudo make install
- 基本使用:抓包可用其工具集(如 netsniff-ng、trafgen 等),具体命令依需求选择;抓包通常需要 root 权限。
- Snort 3(入侵检测/防御)
- 准备与安装(以 CentOS 7 为例):
- sudo yum install -y epel-release
- 安装依赖:sudo yum install -y gcc flex bison zlib zlib-devel libpcap libpcap-devel pcre pcre-devel libdnet libdnet-devel tcpdump
- 下载并安装 DAQ 与 Snort(RPM 方式,示例版本:daq-2.0.6、snort-2.9.9.0)
- wget https://snort.org/downloads/archive/snort/daq-2.0.6-1.centos7.x86_64.rpm
- wget https://snort.org/downloads/archive/snort/snort-2.9.9.0-1.centos7.x86_64.rpm
- sudo yum install ./daq-.rpm -y & & sudo yum install ./snort-.rpm -y
- 配置与验证:
- 下载社区规则并解压至 /etc/snort/rules
- 编辑 /etc/snort/snort.conf:设置规则路径(如 var RULE_PATH /etc/snort/rules)、日志目录(如 config logdir: /var/log/snort)、输出插件(如 output unified2: filename snort.log, limit 128),并启用 include local.rules
- 测试配置:snort -T -i ens32 -c /etc/snort/snort.conf
- 运行与告警示例:snort -A console -i ens32 -u snort -g snort -c /etc/snort/snort.conf,向主机发送 ICMP 请求可在控制台看到告警。
- 准备与安装(以 CentOS 7 为例):
四 合法合规与排错要点
- 合法合规
- 抓包涉及通信内容与隐私数据,务必在获得明确授权的网络与主机上操作,遵守当地法律法规与企业安全策略。
- 权限与接口
- 抓包需要访问网卡,通常以 root 或具备 CAP_NET_RAW 能力的账户运行;不确定接口名可用 tcpdump -D 查看。
- 性能与存储
- 高速链路或长时间抓包会产生大量数据,建议合理设置过滤表达式、使用 -c 限制数量、或将结果写入文件(-w)后再分析,避免影响业务与磁盘空间。
- 常见问题
- 无权限:使用 sudo 或为执行用户授予 CAP_NET_RAW。
- 抓不到包:确认接口名正确、接口处于UP状态、以及是否有VLAN/隧道等特殊封装;必要时改用 -i any 验证是否为接口选择问题。
- 解析慢:加 -nn 关闭解析,使用 -s0 抓取完整报文,必要时将结果写入文件再用 Wireshark 分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Sniffer如何安装和设置
本文地址: https://pptw.com/jishu/772329.html
