如何通过Linux Sniffer识别网络攻击
导读:一、前期准备:选择与安装Sniffer工具 Linux环境下,Sniffer工具分为命令行(轻量、高效)和图形化(直观、易操作)两类,需根据场景选择: 命令行工具:tcpdump(经典抓包工具,支持过滤与保存)、tshark(Wiresh...
一、前期准备:选择与安装Sniffer工具
Linux环境下,Sniffer工具分为命令行(轻量、高效)和图形化(直观、易操作)两类,需根据场景选择:
- 命令行工具:
tcpdump
(经典抓包工具,支持过滤与保存)、tshark
(Wireshark命令行版,适合脚本处理); - 图形化工具:
Wireshark
(功能全面,支持协议解析与可视化)、iftop
(实时流量监控)、nethogs
(按进程统计流量)。
安装方式(以Debian/Ubuntu为例):
# tcpdump(系统自带或通过包管理器安装)
sudo apt update &
&
sudo apt install tcpdump
# Wireshark(需安装图形界面)
sudo apt install wireshark
# iftop(实时流量)
sudo apt install iftop
# nethogs(进程级流量)
sudo apt install nethogs
注意:使用前需获取网络管理员授权,避免侵犯隐私或违反法律法规。
二、捕获数据包:定位目标流量
捕获数据包是识别攻击的基础,需明确接口(如eth0
、wlan0
)和过滤条件(减少无关流量):
- 基础捕获:使用
tcpdump
捕获指定接口的所有流量(如eth0
):sudo tcpdump -i eth0
- 过滤流量:通过协议(
tcp
/udp
/icmp
)、端口(port 80
表示HTTP)、IP(host 192.168.1.100
)缩小范围,例如捕获eth0
上80端口的HTTP流量:sudo tcpdump -i eth0 port 80
- 保存数据包:将捕获的流量保存到
.pcap
文件(如capture.pcap
),便于后续用Wireshark等工具深入分析:sudo tcpdump -i eth0 -w capture.pcap
提示:过滤条件可组合使用(如sudo tcpdump -i eth0 port 22 and host 10.0.0.5
,捕获eth0
上与10.0.0.5
的SSH流量)。
三、分析数据包:识别攻击特征
捕获后需通过协议解析和特征匹配识别攻击,常见攻击类型及对应特征如下:
- DDoS攻击:表现为异常高流量(如接口带宽占用100%)、大量SYN包(TCP三次握手中的同步包,
tcpdump 'tcp[tcpflags] & (tcp-syn) != 0'
)、单一IP/端口的大量请求(如iftop
显示某IP持续占用大量出站/入站带宽)。 - SQL注入攻击:HTTP请求中包含SQL关键字(如
' OR '1'='1
、UNION SELECT
),可通过tcpdump
过滤HTTP POST/GET请求(port 80 and tcp[((tcp[12:1] & 0xf0) > > 2):4] = 0x504f5354
,匹配POST请求),再用Wireshark查看payload
中的SQL语句。 - 跨站脚本攻击(XSS):HTTP响应中包含恶意脚本(如
< script> alert('xss')< /script>
),通过Wireshark过滤HTTP响应(http.response and tcp.port == 80
),检查Content-Type
为text/html
的响应体中的脚本标签。 - 端口扫描:短时间内向多个端口发送探测包(如
tcpdump 'tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) = 0'
,匹配SYN包但无ACK响应),可通过tcpdump
统计SYN包数量(如sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0' | wc -l
)。
四、辅助工具:增强监控能力
结合其他工具可提升Sniffer的效率和准确性:
- iftop:实时显示网络接口的带宽使用情况(按IP排序),快速定位占用大量带宽的IP(如
sudo iftop -i eth0
),帮助发现DDoS或异常上传。 - nethogs:按进程统计流量(如
sudo nethogs eth0
),识别占用带宽的应用程序(如挖矿软件、病毒进程)。 - Wireshark:提供协议解析(如HTTP、TCP)、流量统计(如协议占比、连接数),通过过滤表达式(如
ip.src == 192.168.1.100 and tcp.port == 22
)快速定位可疑流量,支持可视化分析。
五、注意事项:确保合法与高效
- 合法性:仅在授权范围内使用Sniffer,避免监控非授权网络或用户流量,否则可能违反《网络安全法》等法律法规。
- 性能影响:Sniffer会捕获大量流量,可能占用大量CPU、内存和磁盘空间(如长时间捕获高带宽流量),建议在非高峰时段使用,或限制捕获范围(如仅捕获特定端口)。
- 数据安全:捕获的
.pcap
文件可能包含敏感信息(如密码、个人信息),需妥善存储(如加密)或及时删除,避免泄露。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何通过Linux Sniffer识别网络攻击
本文地址: https://pptw.com/jishu/723778.html