首先检查 DNS 解析是否异常,通过对比 dig 或 nslookup 结果、查看 /etc/resolv.conf 配置及使用 tcpdump 监控 DNS 流量;接着用 netstat -tulnp 或 ss -tulnp 排查异常监听端口和可疑外连,结合 arp - a 检测 ARP 欺骗;再通过 ps aux 分析高资源占用或伪装进程,检查 crontab 定时任务及 /etc/cron.d/ 目录防持久化后门;最后利用 AIDE 等工具验证系统文件完整性,防止关键命令被替换。定期执行上述步骤可有效发现网络劫持。

Linux 系统下检测网络是否被劫持,核心在于监控异常的网络行为和关键服务。重点要检查 DNS 解析、网络连接、路由 表以及是否存在可疑进程。以下是具体排查方法。
检查 DNS 解析是否被劫持
DNS 劫持是最常见的网络劫持形式,攻击者会将域名解析到恶意 IP。可以通过以下方式检测:
- 对比解析结果 :使用
dig或nslookup</strong> 命令查询关键域名(如 google.com),并将结果与可信网络环境下的解析结果进行对比。如果 IP 地址明显不同,则可能被劫持。</li> <li><strong> 检查 resolv.conf 文件 </strong>:查看 <code>/etc/resolv.conf文件,确认其中配置的 DNS 服务器是否是已知且可信的。攻击者可能会篡改此文件,将其指向恶意 DNS 服务器。执行
cat /etc/resolv.conf即可查看。 - 监控 DNS 流量 :使用
tcpdump抓包分析,例如运行sudo tcpdump -i any port 53,观察 DNS 请求和响应的详细信息,查找异常的解析记录。
检查异常的网络连接和监听 端口
黑客入侵后常会建立反向 Shell 或开启后门监听端口,需要仔细排查。
- 列出所有网络连接 :使用
netstat -tulnp或ss -tulnp命令,查看所有正在监听的 TCP/UDP 端口及其对应的进程。重点关注非标准端口(如 60000 以上)或不熟悉的程序。 - 识别可疑外连:在上述命令输出中,特别留意那些主动向外网 IP 发起连接的进程。这些很可能是木马或后门程序在“回连”攻击者的服务器。
- 检查 ARP 缓存:执行
arp -a,查看局域网内 IP 与 MAC 地址的映射关系。如果发现网关的 MAC 地址与正常情况不符,可能遭遇了 ARP 欺骗攻击。
检查系统进程和计划任务
网络劫持往往由系统层面的入侵导致,因此必须检查是否有恶意代码在运行。
- 查看活跃进程:运行
ps aux,按 CPU 或内存排序(如ps aux --sort=-%cpu),寻找占用资源异常高或名称伪装成系统进程(如./kthreadds)的可疑程序。 - 检查定时任务 :使用
crontab -l查看当前用户的计划任务,并检查/etc/crontab和/etc/cron.d/目录。攻击者常利用定时任务来持久化后门或定期执行恶意脚本。 - 验证系统文件完整性 :如果之前部署过 AIDE 或 Tripwire 等 工具,运行一次检查,可以快速发现被替换的关键系统文件(如
/bin/ps,/usr/bin/netstat),因为这些文件一旦被替换,其输出结果就不可信了。
基本上就这些。保持警惕,定期检查,能有效发现并阻止网络劫持。