ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

netstat 网络排查与安全分析速查指南(jaywcjlove/reference)

netstat 网络排查与安全分析速查指南(jaywcjlove/reference) 文档知识库教程开发工具【免费下载链接】reference为开发人员分享快速参考备忘清单(速查表)项目地址https://gitcode.com/jaywcjlove/reference点击查看免费下载本指南以开源速查仓库 jaywcjlove/reference 中 docs/netstat.md 为骨架系统梳理netstat命令的监听、连接、路由、统计等核心用法并深入讲解端口排查、服务检测与 DoS 攻击识别的实战命令链。读完本文你将能熟练运用netstat配合grep、awk、sort等工具快速定位监听端口、追踪异常连接、统计远程 IP 连接数并判断服务器是否遭受攻击。netstat 是什么netstatnetwork statistics是 Linux/Unix 系统中用于显示网络连接、路由表、网络接口统计信息的经典命令行工具。它通过读取内核中的网络子系统状态如/proc/net/tcp、/proc/net/udp等以文本形式输出当前系统的网络活动快照。在本仓库中netstat被归类于系统/网络速查清单与 lsof列出打开文件、linux-command常用命令综合速查其中netstat -pnltu用于显示所有活动监听端口、ports常用端口对照表等文档互为补充是服务器日常运维与故障排查的高频起点。快速上手三条入门命令查看端口 80 上的所有连接$ netstat -anp | grep :80组合解释-a显示所有连接与监听端口-n以数字形式显示地址和端口不做 DNS 反向解析速度更快-p显示进程 PID 与名称再交给grep过滤出包含:80的行即可看到所有与 80 端口相关的连接。查看网络统计帮助$ netstat -h输出所有可用选项的简要说明适合在不确定某个选项含义时随时查阅。常用选项速查选项含义-a显示所有连接含监听-t仅显示 TCP 连接-u仅显示 UDP 连接-x仅显示 Unix 套接字-n以数字显示 IP 与端口不做反向 DNS 解析-p显示进程 PID 与名称-l仅显示监听中的套接字-e显示扩展信息如用户、Inode-i显示网络接口信息-r显示路由表-s显示协议统计信息-F尽可能将 IP 解析为域名-M显示伪装的连接-w显示原始套接字Raw监听端口谁在提供服务监听状态LISTEN表示进程正在某个端口上等待连接是排查端口被占用服务未启动等问题的核心手段。命令说明netstat -ltunp所有监听端口TCPUDP含进程信息netstat -ltn监听 TCP 端口数字显示netstat -lun监听 UDP 端口netstat -lx监听 Unix 域套接字netstat -lt仅列出侦听 TCP 端口netstat -lu仅列出侦听 UDP 端口netstat -l列出所有监听条件其中-ltunp是日常使用频率最高的组合l监听tTCPuUDPn数字p进程一条命令即可看清本机开放了哪些端口、由哪个进程占用。连接状态活动连接一览连接状态分为ESTABLISHED已建立、SYN_SENT正在发起连接、TIME_WAIT、CLOSE_WAIT等多种。查看全部连接命令说明netstat活动连接默认输出netstat -a所有连接netstat -at所有 TCP 连接netstat -au所有 UDP 连接netstat -ant所有 TCP 连接数字显示 IP不做反向 DNS 查找netstat -tnl监听 TCP 端口netstat -unl监听 UDP 端口显示没有域名的 TCP 连接$ netstat --tcp --numeric--tcp等价于-t--numeric等价于-n两条长选项写法可读性更强适合写入脚本或文档示例。显示活动/已建立的连接$ netstat -atnp | grep ESTAESTA是ESTABLISHED的前缀匹配用于快速过滤出所有已建立的连接。若需连续观察可配合watch$ watch -d -n0 netstat -atnp | grep ESTA-d高亮两次刷新间发生变化的部分-n0表示尽可能快的刷新间隔适合观察连接数的动态变化。网络与路由信息网络接口命令说明netstat -i显示网络接口含收发数据包统计netstat -ie显示网络接口扩展信息类似ifconfignetstat -n仅显示 IP 地址netstat -F尽可能显示 IP 地址对应的域名路由表命令说明netstat -r显示路由表等价于routenetstat -rn显示路由表且不解析主机名排查网络不通网关错误问题时netstat -rn可直接查看内核路由决策结果确认默认网关与目标网段的路由条目。统计信息与进程定位协议统计命令说明netstat -s显示各协议统计信息TCP/UDP/ICMP 等netstat -st仅显示 TCP 统计信息netstat -su仅显示 UDP 统计信息统计信息中包含重传次数、丢包、连接重置等关键指标是判断网络质量与丢包率的重要依据。进程与扩展信息命令说明netstat -ltpe使用进程信息和扩展信息显示 TCP 侦听连接netstat -tp显示带有 PID 编号的服务名称sudo netstat -nlpt列出进程名称/PID 和用户 IDnetstat -nlptue所有带 PID 和扩展信息的监听端口netstat -M显示伪装的连接注意-p显示进程名通常需要 root 权限非 root 用户可能只能看到进程名而看不到 PID因此推荐使用sudo执行。实战检查服务是否正在运行$ sudo netstat -aple | grep ntp-a所有-p进程-l监听-e扩展信息配合grep过滤服务关键字。将ntp替换为http、smtp等即可检查对应服务是否在监听状态$ sudo netstat -aple | grep http $ sudo netstat -aple | grep smtp这是比ps更精准的服务是否对外可用检查方式——进程存在但未监听端口同样无法提供服务。显示到特定端口的所有打开连接$ netstat -anp | grep:将冒号:替换为具体端口号即可例如$ netstat -anp | grep:3306用于查看某个端口的全部打开连接含监听与已建立。安全分析用 netstat 识别异常流量netstat配合管道命令可以构建轻量级的安全分析工具链用于统计连接来源、发现 DoS 攻击迹象。显示具有大量连接的 IP$ netstat -tn 2/dev/null | grep :80 | awk {print $5} | cut -d: -f1 | sort | uniq -c | sort -nr | head命令链拆解netstat -tn输出数字化的 TCP 连接 →grep :80过滤 80 端口 →awk {print $5}取第 5 列远端地址→cut -d: -f1去掉端口只留 IP →sort排序 →uniq -c按 IP 计数 →sort -nr按数量倒序 →head取前 10 名。结果即连接数最多的 IP 排行单个 IP 连接数异常高往往是攻击或爬虫信号。连接到端口 80 的 IP 地址$ netstat -tn 2/dev/null | grep :80 | awk {print $5} |sed -e s/::ffff:// | cut -f1 -d: | sort | uniq -c | sort -rn | head与上一条类似区别在于grep :80 精确匹配带空格结尾的 80 端口行并通过sed -e s/::ffff://清理 IPv4 映射到 IPv6 时的前缀::ffff:1.2.3.4→1.2.3.4使统计结果更干净。显示端口 80 上的活动连接数$ netstat -an |grep :80 |wc -lwc -l统计行数得到当前 80 端口相关连接含监听的总数量适合作为监控脚本的指标来源。仅显示外部 IP 地址$ netstat -antu | grep :80 | grep -v LISTEN | awk {print $5}grep -v LISTEN排除本地监听行awk {print $5}提取远端地址得到所有主动连入 80 端口的外部地址。识别 DoS 攻击SYN_REC 状态统计SYN_RECSYN_RECEIVED表示收到了 SYN 请求但未完成三次握手是半开连接攻击SYN Flood的典型特征$ netstat -n -p|grep SYN_REC | wc -l该命令输出服务器上当前处于SYN_REC状态的连接数量。正常情况下该数值应该很低小于5如果达到两位数则很可能正在遭受 DoS 攻击或邮件轰炸。列出发送 SYN_REC 连接的唯一 IP 地址$ netstat -n -p | grep SYN_REC | awk {print $5} | awk -F: {print $1}与上面的命令一样该命令列出所有向服务器发起SYN_REC半开连接的节点唯一 IP 地址方便进一步封禁或溯源。每个远程 IP 的连接数方法一经典管道$ netstat -antu | awk {print $5} | awk -F: {print $1} | sort | uniq -c | sort -n方法二单条 awk 实现性能更优$ netstat -antu | awk $5 ~ /[0-9]:/{split($5, a, :); ips[a[1]]} END {for (ip in ips) print ips[ip], ip | sort -k1 -nr}方法二仅在第五列匹配数字:端口格式时执行split($5, a, :)按冒号拆分地址与端口ips[a[1]]以 IP 为键计数最终通过sort -k1 -nr按连接数降序输出。相比方法一省去了多个中间进程在处理海量连接时更高效。检查开放端口IPv4 和 IPv6$ netstat -plntu以及仅 TCP 的版本$ netstat -plnt-p进程-l监听-n数字-tTCP/-uUDP一条命令列出所有监听中的端口及其进程是查看本机开放了哪些端口的标准答案也可与 ports.md 中的端口对照表配合识别端口用途。每个 IP 的打开连接数$ netstat -an | grep 80 | wc -l统计所有包含80的 TCP/UDP 行数用于快速估算 80 端口的连接总量。活跃的互联网连接$ netstat -pnut -w | column -t -s $\t-p进程-n数字-uUDP-tTCP-wRaw 原始套接字覆盖所有互联网协议column -t -s $\t以制表符为分隔并对齐列输出排版整洁的活跃连接清单。小结netstat尽管在部分新系统中被ss逐步替代但其选项直观、输出稳定、随处可用仍是排查端口占用、服务状态与网络连接的首选工具。本清单中的命令链体现了 Unix 管道哲学的典型用法netstat负责采集网络快照grep/awk/cut负责字段提取sort/uniq负责聚合统计组合起来即可覆盖从日常巡检到安全应急的多数场景。进一步阅读本仓库相关清单lsof 备忘清单按进程/端口查打开文件、常用端口对照表识别端口用途、Linux 常用命令netstat -pnltu综合用法以及 awk、grep掌握管道处理能力。赞分享文档知识库教程开发工具【免费下载链接】reference为开发人员分享快速参考备忘清单(速查表)项目地址https://gitcode.com/jaywcjlove/reference点击查看免费下载相关推荐Reference 速查手册netstat 命令实战指南 —— 端口监听、连接排查与网络统计Reference 速查手册netstat 命令实战指南 —— 端口监听、连接排查与网络统计 本篇指南以本仓库 netstat 速查文档 https://li文档教程知识库Netstat 命令速查Linux 网络连接、端口监听与安全排查实战指南Netstat 命令速查Linux 网络连接、端口监听与安全排查实战指南 本指南以本项目 docs/netstat.md https://link.gitco文档教程Linux 命令速查表系统、进程、网络与 Shell 技巧全指南jaywcjlove/referenceLinux 命令速查表系统、进程、网络与 Shell 技巧全指南jaywcjlove/reference 本篇速查指南以 docs/linux comma文档知识库教程开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进