如何收集服务器被入侵的网络状态信息?
美国、香港服务器
如何收集服务器被入侵的网络状态信息?
11-27 来源:
收集服务器被入侵后的网络状态信息,核心目标是 “捕获当前网络连接、端口占用、流量特征、DNS 缓存”,定位恶意外联 IP(C2 服务器)、异常监听端口、未授权通信,为入侵溯源和阻断提供依据。以下是兼容 Windows/Linux 系统的实操指南,含命令行工具、抓包方法与证据留存技巧,全程遵循 “只读不修改、不破坏证据” 原则:
一、核心原则(避免证据丢失或干扰攻击)
不中断现有连接:除非服务器正在被大量恶意流量攻击,否则不轻易断网,优先捕获完整通信痕迹;
优先使用系统自带工具:避免安装第三方工具触发恶意程序(如勒索病毒);
捕获后立即备份:将收集的网络信息导出到本地或安全存储,避免被攻击者删除;
抓包时长合理:默认捕获 10-30 分钟(足够覆盖一次恶意通信周期),避免日志过大。
二、网络状态信息收集清单(按优先级排序)
第一类:当前网络连接与端口占用(核心信息)
重点收集 “谁在和服务器通信、使用哪个端口、连接状态(监听 / 已建立)”,定位恶意外联或异常监听。
信息类型 Windows 系统操作(管理员权限) Linux 系统操作(root 权限)
全量网络连接(含 PID) 1. 命令行执行(导出所有连接):
netstat -ano > C:\temp\network\netstat_all.txt
(参数说明:-a = 所有连接,-n = 数字格式,-o = 显示 PID);
2. 筛选关键连接(监听 / 已建立):
`netstat -ano findstr "LISTENING|ESTABLISHED" > C:\temp\network\netstat_established.txt;
3. 按端口筛选高危连接(如3389、22、445):
netstat -ano findstr ":3389|22|445" > C:\temp\network\netstat_highrisk.txt`。 1. 命令行执行(导出所有连接 + 进程):
netstat -tulnp > /tmp/network/netstat_all.txt
(参数说明:-t=TCP,-u=UDP,-l = 监听,-n = 数字格式,-p = 显示进程);
2. 更详细连接(含状态):
ss -tulwpn > /tmp/network/ss_all.txt
(-w=RAW 协议,覆盖更多连接类型);
3. 筛选已建立连接:
`ss -tulnp grep "ESTABLISHED" > /tmp/network/ss_established.txt;
4. 进程网络连接映射:
lsof -i > /tmp/network/lsof_network.txt`(显示每个进程的网络连接)。
端口占用详情 1. 结合 PID 查进程(定位异常端口对应程序):
tasklist /fi "PID eq 1234" > C:\temp\network\pid_1234_process.txt
(替换 1234 为异常端口的 PID);
2. 用 PowerShell 更详细查询:
`Get-NetTCPConnection Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess Export-Csv -Path C:\temp\network\tcp_connections.csv -NoTypeInformation`。 1. 结合 PID 查进程:
`ps aux grep 1234 > /tmp/network/pid_1234_process.txt
(替换1234为异常端口的PID);
2. 端口占用统计:
netstat -tulnp awk "{print $4}" cut -d: -f2 sort uniq -c > /tmp/network/port_count.txt`(统计各端口连接数)。
路由表与网卡信息 1. 路由表导出:
route print > C:\temp\network\route_table.txt;
2. 网卡配置详情:
ipconfig /all > C:\temp\network\ipconfig_all.txt(含 IP、MAC、DNS、网关)。 1. 路由表导出:
route -n > /tmp/network/route_table.txt;
2. 网卡配置详情:
ip addr > /tmp/network/ip_addr.txt;
3. 网卡流量统计:
ifstat -i all > /tmp/network/ifstat_traffic.txt(需安装 ifstat,或用cat /proc/net/dev查看基础流量)。
第二类:流量抓包(捕获通信内容)
通过抓包获取 “通信数据、协议类型、数据包大小”,分析攻击者是否传输敏感数据、执行恶意指令,需结合 Wireshark/tcpdump 工具。
工具 Windows 系统操作(管理员权限) Linux 系统操作(root 权限)
Wireshark/tshark 1. 若已安装 Wireshark,直接打开软件:
- 选择网卡(如以太网)→ 开始捕获 → 10 分钟后停止 → 保存为 C:\temp\network\traffic.pcap;
2. 未安装则用系统自带tshark(需提前安装 Wireshark 组件):
tshark -i any -w C:\temp\network\traffic.pcap -a duration:600
(参数说明:-i any = 所有网卡,-w = 保存文件,-a duration:600 = 捕获 10 分钟)。 1. 系统自带tcpdump(默认安装):
tcpdump -i any -w /tmp/network/traffic.pcap -G 600 -W 1
(参数说明:-i any = 所有网卡,-w = 保存文件,-G 600=10 分钟自动停止,-W 1 = 仅保存 1 个文件);
2. 筛选特定流量(如 TCP 协议、非内网 IP):
tcpdump -i any host not 192.168.0.0/24 and tcp -w /tmp/network/tcp_non_internal.pcap -G 600(排除内网流量,聚焦公网通信)。
抓包后分析要点 1. 用 Wireshark 打开traffic.pcap,筛选 “TCP/UDP” 协议、“Remote Address != 内网 IP”;
2. 查看 “Follow TCP Stream”,分析通信内容是否有明文密码、恶意指令(如wget、curl下载恶意程序);
3. 统计 Top 通信 IP:Wireshark → Statistics → Endpoints → IPv4,查看通信次数最多的非业务 IP。 1. 用tcpdump快速分析:
`tcpdump -r /tmp/network/traffic.pcap -n grep "ESTABLISHED" awk "{print $3}" sort uniq -c`(统计已建立连接的 IP);
2. 用 Wireshark 打开 pcap 文件,按 “Protocol” 筛选,重点关注非 HTTP/HTTPS 的异常协议(如 IRC、自定义协议)。
第三类:DNS 与域名相关信息(定位恶意域名)
收集 DNS 缓存、解析记录,确认服务器是否解析过恶意域名(如 C2 域名、钓鱼域名)。
信息类型 Windows 系统操作(管理员权限) Linux 系统操作(root 权限)
DNS 缓存导出 1. 命令行执行(导出所有 DNS 缓存):
ipconfig /displaydns > C:\temp\network\dns_cache.txt;
2. 筛选可疑域名(如陌生境外域名):
findstr /i "google|baidu|陌生关键词" C:\temp\network\dns_cache.txt > C:\temp\network\dns_suspicious.txt(替换关键词为可疑域名特征)。 1. 导出 DNS 配置:
cat /etc/resolv.conf > /tmp/network/dns_resolv.txt(查看 DNS 服务器);
2. 查看系统 DNS 缓存(需安装nscd):
nscd -g > /tmp/network/dns_cache.txt;
3. 捕获 DNS 查询流量(补充抓包):
tcpdump -i any port 53 -w /tmp/network/dns_traffic.pcap -G 300(捕获 5 分钟 DNS 流量)。
域名解析记录 1. 用nslookup验证可疑 IP 对应的域名:
nslookup 192.168.1.100 > C:\temp\network\nslookup_192.168.1.100.txt(替换为可疑 IP);
2. 批量解析异常 IP:
将异常 IP 写入ip_list.txt,执行for /f %i in (ip_list.txt) do nslookup %i >> C:\temp\network\nslookup_batch.txt。 1. 用dig验证可疑 IP:
dig -x 192.168.1.100 > /tmp/network/dig_192.168.1.100.txt(反向解析 IP 对应的域名);
2. 批量解析:
while read ip; do dig -x $ip >> /tmp/network/dig_batch.txt; done < ip_list.txt(ip_list.txt 为异常 IP 列表)。
第四类:网络连接统计与异常行为(辅助分析)
收集网络连接数、流量大小、异常协议,判断攻击类型(如 DDoS、C2 通信)。
信息类型 Windows 系统操作(管理员权限) Linux 系统操作(root 权限)
连接数统计 1. 统计 TCP/UDP 连接数:
`netstat -an findstr "TCP" wc -l > C:\temp\network\tcp_count.txt
netstat -an findstr "UDP" wc -l >> C:\temp\network\udp_count.txt;
2. 按远程IP统计连接数:
netstat -an findstr "ESTABLISHED" awk "{print $3}" sort uniq -c sort -nr > C:\temp\network\remote_ip_count.txt`(需安装 Git Bash 或 WSL 支持 awk)。 1. 统计 TCP/UDP 连接数:
`netstat -an grep "TCP" wc -l > /tmp/network/tcp_count.txt
netstat -an grep "UDP" wc -l >> /tmp/network/udp_count.txt;
2. 按远程IP统计连接数:
ss -tulnp grep "ESTABLISHED" awk "{print $5}" cut -d: -f1 sort uniq -c sort -nr > /tmp/network/remote_ip_count.txt`。
异常协议与端口 1. 筛选非标准端口连接(排除 80、443、3389 等业务端口):
`netstat -ano findstr -v ":80|443|3389" > C:\temp\network\non_standard_ports.txt;
2. 查看RAW/SCTP等异常协议:
Get-NetRawSocket Export-Csv -Path C:\temp\network\raw_sockets.csv -NoTypeInformation`(PowerShell)。 1. 筛选非标准端口:
`ss -tulnp grep -v ":80|443|22" > /tmp/network/non_standard_ports.txt;
2. 查看异常协议连接:
netstat -an grep -E "RAW|SCTP|DCCP" > /tmp/network/abnormal_protocols.txt`。
三、证据留存与归档
创建统一目录:
Windows:md C:\temp\network(专门存储网络相关证据);
Linux:mkdir -p /tmp/network;
压缩加密备份:
收集完成后,将network目录压缩为 zip 包(Windows 右键→发送到→压缩文件夹;Linux zip -r network_evidence.zip /tmp/network),设置密码(避免敏感信息泄露);
离线存储:将压缩包复制到离线硬盘或安全服务器,避免被攻击者删除;
补充说明:在压缩包内添加readme.txt,记录抓包时间、抓包时长、服务器 IP、收集人,便于后续分析。
四、快速收集脚本(一键执行,避免遗漏)
Windows 网络信息收集脚本(保存为 collect_network.bat,管理员运行)
bat
@echo off
set "output_dir=C:\temp\network"
md %output_dir% 2>nul
:: 1. 网络连接与端口
netstat -ano > %output_dir%\netstat_all.txt
netstat -ano | findstr "LISTENING\|ESTABLISHED" > %output_dir%\netstat_established.txt
netstat -ano | findstr ":3389\|22\|445" > %output_dir%\netstat_highrisk.txt
tasklist /v > %output_dir%\process_list.txt # 关联PID与进程名
:: 2. 路由表与网卡信息
route print > %output_dir%\route_table.txt
ipconfig /all > %output_dir%\ipconfig_all.txt
:: 3. DNS缓存
ipconfig /displaydns > %output_dir%\dns_cache.txt
:: 4. 流量抓包(10分钟)
tshark -i any -w %output_dir%\traffic.pcap -a duration:600 2>nul || (echo "tshark未安装,跳过抓包" > %output_dir%\抓包说明.txt)
:: 5. 连接数统计(需Git Bash或WSL支持awk)
bash -c "netstat -an | findstr "ESTABLISHED" | awk "{print $3}" | sort | uniq -c | sort -nr > %output_dir%\remote_ip_count.txt" 2>nul || (echo "未安装awk,跳过IP统计" >> %output_dir%\抓包说明.txt)
echo 网络信息收集完成,文件保存至:%output_dir%
pause
Linux 网络信息收集脚本(保存为 collect_network.sh,root 运行)
bash
运行
#!/bin/bash
output_dir="/tmp/network"
mkdir -p $output_dir
:: 1. 网络连接与端口
netstat -tulnp > $output_dir/netstat_all.txt
ss -tulwpn > $output_dir/ss_all.txt
ss -tulnp | grep "ESTABLISHED" > $output_dir/ss_established.txt
lsof -i > $output_dir/lsof_network.txt
ps aux > $output_dir/process_list.txt
:: 2. 路由表与网卡信息
route -n > $output_dir/route_table.txt
ip addr > $output_dir/ip_addr.txt
cat /proc/net/dev > $output_dir/nic_traffic.txt
:: 3. DNS缓存与配置
cat /etc/resolv.conf > $output_dir/dns_resolv.txt
nscd -g > $output_dir/dns_cache.txt 2>/dev/null || echo "nscd未安装,跳过DNS缓存" > $output_dir/dns_note.txt
:: 4. 流量抓包(10分钟)
tcpdump -i any -w $output_dir/traffic.pcap -G 600 -W 1 2>/dev/null &
sleep 600 # 等待抓包完成
:: 5. 连接数与IP统计
ss -tulnp | grep "ESTABLISHED" | awk "{print $5}" | cut -d: -f1 | sort | uniq -c | sort -nr > $output_dir/remote_ip_count.txt
echo "网络信息收集完成,文件保存至:$output_dir"
五、关键注意事项
权限要求:所有命令需以管理员(Windows)或 root(Linux)权限执行,否则会遗漏进程 PID、路由表等关键信息;
抓包工具兼容性:Windows 若未安装 Wireshark/tshark,可跳过抓包(仅收集连接信息);Linux 优先使用 tcpdump(默认安装);
避免触发恶意程序:抓包时不筛选过多规则,避免中断攻击者通信;若服务器正在被勒索病毒加密,立即断网并优先保存已捕获的证据;
后续分析重点:
从remote_ip_count.txt中找通信次数最多的非业务 IP,用 VirusTotal/AbuseIPDB 验证是否为恶意 IP;
从traffic.pcap中筛选 “非内网 IP + 非业务端口” 的流量,分析是否有恶意指令或数据传输;
从dns_cache.txt中找陌生域名,用 VirusTotal 验证是否为 C2 域名。
通过以上步骤,可全面收集服务器被入侵后的网络状态信息,为定位恶意外联、阻断攻击 IP、溯源攻击路径提供核心依据。若需针对特定场景(如 Web 服务器、数据库服务器)补充收集业务端口流量(如 80/443/3306),可进一步说明。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快