
Netstat 命令速查Linux 网络连接、端口监听与安全排查实战指南【免费下载链接】reference面向开发者的技术速查清单Cheat Sheets集合整理常见技术、工具与开发流程帮助快速查阅关键信息提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference本指南以本项目 docs/netstat.md 备忘清单为骨架系统讲解netstat命令在端口监听、连接查看、网络接口、路由表、协议统计以及安全审计如 DoS 排查等场景下的完整用法。读完本文你将掌握从「查看端口 80 的所有连接」到「用一行命令找出连接数最多的可疑 IP」的全套实战技能可直接复制命令用于日常运维与安全巡检。netstat 是什么netstatnetwork statistics是 Linux 上最经典、最常用的网络状态查看工具之一。它通过读取内核的网络子系统信息向用户展示当前机器的网络连接TCP / UDP / Unix 套接字端口监听状态哪些服务正在监听哪些端口网络接口的收发统计内核路由表各协议的累计统计信息。在本项目的速查清单体系中它归属于 README 中的「命令」分类见 README.md 中 Netstat 条目并配有独立的图标资源 assets/netstat.svg。现代 Linux 发行版上netstat多由ip、ss等新工具取代但因其命令简洁、输出直观、在各类服务器与脚本中仍有大量存量使用掌握它依然是网络排障的基本功。入门实例先看两个最常见的用法快速上手。查看端口 80 上的所有连接$ netstat -anp | grep :80参数拆解-a显示所有连接包括监听状态与已建立状态-n以数字形式显示地址与端口不做反向 DNS 解析速度更快-p显示进程 PID 与进程名grep :80过滤出地址中包含:80的行即所有与 80 端口相关的连接。查看 netstat 帮助$ netstat -h-h输出所有可用选项的简要说明是记不住参数时的第一求助入口。Windows 平台同样支持netstat -h更常见的是netstat -?且基本参数语义一致。监听状态查看「监听」指某个服务进程已经绑定端口并等待连接进入内核状态为LISTEN。排查「端口是否被占用」「服务是否起来」都依赖这一组命令。| 选项 | 说明 | | :- | :- | |netstat -ltunp| 所有监听端口TCP UDP含进程信息 | |netstat -ltn| 监听 TCP 端口 | |netstat -lun| 监听 UDP 端口 | |netstat -lx| 监听 Unix 域套接字 | |netstat -lt| 仅列出监听 TCP 端口 | |netstat -lu| 仅列出监听 UDP 端口 | |netstat -l| 列出所有监听条件 |要点-l只显示LISTEN状态的连接是判断「服务是否在监听」的最快方式组合-p可以看到监听端口的进程 PID配合ps、kill即可完成定位与清理本仓库的 Windows 命令清单 docs/cmd.md 中也记录了对应的排查链路先用netstat -ano查端口对应的 PID再用taskkill /pid 进程号结束进程。连接状态查看与「监听」不同-a系列展示的是全部连接包括已建立ESTABLISHED、半开SYN_SENT、SYN_REC、关闭等待TIME_WAIT、CLOSE_WAIT等状态。| 选项 | 说明 | | :- | :- | |netstat| 活动连接默认只显示已建立的 TCP 连接 | |netstat -a| 所有连接 | |netstat -at| 所有 TCP 连接 | |netstat -au| 所有 UDP 连接 | |netstat -ant| 显示 IP 地址不做反向 DNS 查找 | |netstat -tnl| 监听 TCP 端口 | |netstat -unl| 监听 UDP 端口 |其中-ant是日常排障使用频率最高的组合-a所有-n数字地址-t仅 TCP输出快速且无 DNS 等待。网络接口信息| 选项 | 说明 | | :- | :- | |netstat -i| 显示网络接口 | |netstat -ie| 显示网络接口扩展信息 | |netstat -n| 仅显示 IP 地址 | |netstat -F| 尽可能显示 IP 地址对应的域名 |netstat -ie的输出与ifconfig类似包含每块网卡的 IP、掩码、收发字节数、错误包数等可用于快速判断网卡是否异常如RX-ERR、TX-DRP持续增长。路由表查看| 选项 | 说明 | | :- | :- | |netstat -r| 显示路由表 | |netstat -rn| 显示路由表不解析主机名 |-rn以纯数字形式输出内核路由表与route -n等价用来确认默认网关default或0.0.0.0与目标网段的下一跳。协议统计信息| 选项 | 说明 | | :- | :- | |netstat -s| 显示各协议统计信息 | |netstat -st| 显示 TCP 统计信息 | |netstat -su| 显示 UDP 统计信息 | |netstat -ltpe| 使用进程信息和扩展信息显示 TCP 的监听连接 | |netstat -tp| 显示带 PID 编号的服务名称 | |sudo netstat -nlpt| 列出进程名称 / PID 和用户 ID | |netstat -nlptue| 所有带 PID 和扩展信息的监听端口 | |netstat -M| 显示伪装masquerade的连接 |说明-s输出的是内核网络栈的累计计数器例如 TCP 的重传次数、丢弃的报文数、TIME_WAIT等是判断网络质量与协议异常的重要依据-M需要内核开启 IP 伪装常见于旧的 NAT 环境-p显示进程信息时通常需要root/sudo权限否则 PID 与进程名可能为空这也解释了为什么命令中常见sudo netstat ...的写法。常见实战场景显示没有域名的 TCP 连接$ netstat --tcp --numeric等价于netstat -tn--numeric强制以 IP 数字形式输出避免反向解析造成的延迟。显示活动 / 已建立的连接$ netstat -atnp | grep ESTAgrep ESTA匹配ESTABLISHED状态取前 4 个字符即可命中也规避了行尾空白差异得到当前所有活跃的 TCP 会话。获取活动连接的连续列表$ watch -d -n0 netstat -atnp | grep ESTA用watch每 0 秒尽可能快刷新一次并高亮变化行-d适合实时观察连接数的波动例如压测时观察并发建立情况。显示到特定端口的所有打开连接$ netstat -anp | grep:将上面命令中的冒号:替换为你关心的端口号即可例如grep :443查看所有 443 端口的连接。注意加引号包裹端口模式避免 shell 对特殊字符的误解析。检查服务是否正在运行$ sudo netstat -aple | grep ntp将ntp替换为http、smtp等关键字即可在包含进程名、PID、用户信息的输出中定位目标服务-e额外显示用户信息。这是「服务挂了没有」最直接的检查手段之一。安全场景连接审计与 DoS 排查netstat的输出经过awk、sort、uniq、cut等文本工具的加工可以变成强大的安全分析命令。以下命令均来自原文档的安全章节可直接照抄运行。显示具有大量连接的 IP$ netstat -tn 2/dev/null | grep :80 | awk {print $5} | cut -d: -f1 | sort | uniq -c | sort -nr | head流水线解析netstat -tn列出 TCP 数字连接2/dev/null丢弃权限不足时的错误输出grep :80筛选 80 端口相关行awk {print $5}取出第五列对端地址IP:端口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 映射地址::ffff:1.2.3.4还原成普通 IPv4 形式避免同一条连接被 IPv4 / IPv6 两种写法重复统计。显示端口 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}取出对端地址列含端口。如需纯 IP可再叠加cut -d: -f1。显示活动 SYN_REC 数量$ netstat -n -p|grep SYN_REC | wc -lSYN_REC表示服务器已收到对端的 SYN 握手请求、正在等待确认。正常情况下该数值应当很低小于 5如果达到两位数说明服务器可能正在遭受DoS攻击或被邮件轰炸——攻击者发送大量伪造 SYN 包却不完成握手令服务器堆积半开连接。-p需要 root 权限可替换为netstat -tn | grep SYN_REC | wc -l在普通权限下运行。列出发送 SYN_REC 连接的唯一 IP 地址$ netstat -n -p | grep SYN_REC | awk {print $5} | awk -F: {print $1}该命令将每个处于SYN_REC状态的连接的对端IP:端口拆出纯 IP重复 IP 会多次出现即出现次数 该 IP 发起的半开连接数。如需去重统计可加| sort | uniq -c。每个远程 IP 的连接数$ netstat -antu | awk {print $5} | awk -F: {print $1} | sort | uniq -c | sort -n统计所有 TCP / UDP 连接按对端 IP 分组的数量并按升序排列sort -n换成sort -nr即可按连接数降序输出快速定位最活跃的对端。或者使用纯 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}该写法在awk内部用关联数组ips累计每个 IP 的连接数最后按次数降序输出次数 IP。检查开放端口IPv4 和 IPv6$ netstat -plntu-p进程-l监听-n数字-tTCP-uUDP一次列出所有监听中的 TCP / UDP 端口及其所属进程同时覆盖 IPv4 与 IPv6是安全基线核查的标准命令。仅查看 TCP 时$ netstat -plnt每个 IP 的打开连接数$ netstat -an | grep 80 | wc -l快速统计与 80 相关的全部连接行数含监听行适合写进一行脚本做粗略的并发评估。活跃的互联网连接$ netstat -pnut -w | column -t -s $\t-w输出原始raw连接column -t将制表符分隔的输出对齐成整齐的表格可读性更好。关键选项速查把文档中的选项按功能归纳如下便于速记| 选项 | 含义 | | :- | :- | |-a/--all| 显示所有连接与监听端口 | |-t/--tcp| 仅显示 TCP 连接 | |-u/--udp| 仅显示 UDP 连接 | |-l/--listening| 仅显示监听状态 | |-p/--program| 显示进程 PID 与名称需 root | |-n/--numeric| 数字形式显示地址与端口不做反向解析 | |-e/--extend| 显示扩展信息如用户 | |-r/--route| 显示路由表 | |-i/--interfaces| 显示网络接口统计 | |-s/--statistics| 显示协议统计 | |-F| 显示域名尽量解析主机名 | |-M/--masquerade| 显示伪装连接 | |-h| 帮助信息 |跨平台与工具联动Windows本项目 docs/cmd.md 记录了 Windows 下netstat -a、netstat -n、netstat -v、netstat -s等用法且netstat -ano查询到的 PID 可直接配合taskkill /pid使用与 Linux 排查思路完全一致。容器 / 云原生本项目 docs/sysdig.md 展示了在 sysdig 中复用 netstat 思路的例子——sudo sysdig -pc -A -c netstat container.nameaaa可列出指定容器的监听端口说明 netstat 的「查监听、查连接」心智模型同样适用于更现代的观测工具。端口语义netstat 输出的端口号可对照本项目 docs/ports.md 的端口清单确认服务身份例如:22为 SSH、:80为 HTTP、:443为 HTTPS、:3306为 MySQL、:5432为 PostgreSQL、:8080为 WWW 缓存服务等让排查结果一目了然。文本处理安全命令中用到的grep、awk、sed、sort、uniq、cut、watch、column均有独立速查文档如 docs/grep.md、docs/awk.md可交叉查阅加深理解。总结netstat用极少的参数组合覆盖了网络排障的绝大部分场景-l系列查监听、-a系列查连接、-i查接口、-r查路由、-s查协议统计而配合grep、awk、sort、uniq等文本工具后它又变身为一套轻量级的安全分析引擎可以完成连接排行、SYN 洪水检测、开放端口核查等任务。将本文的命令按需复制保存即可作为日常运维与应急响应时的第一份检查清单。【免费下载链接】reference面向开发者的技术速查清单Cheat Sheets集合整理常见技术、工具与开发流程帮助快速查阅关键信息提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考