netstat 在 Windows 和 Linux 下怎么用?含参数详解、错误排查与实战案例对比

2025-07-22 0 998 百度已收录

有没有朋友跟小编一样,在 Windows 上用惯了 netstat,换 Linux 系统后一输命令就报错?要么提示 “命令找不到”,要么参数不对,明明想查个端口占用,结果越弄越乱。其实啊,netstat 在这俩系统里用法大同小异,但就是那点 “小异”,能让新手卡半天。今天就手把手教你,不管是 Windows 还是 Linux,netstat 咋用才顺,参数啥意思,出错了咋整,再附上个实战对比,保证看完你也能玩转!


先搞懂:netstat 参数就这几个,记不住也能查

别被 “参数” 俩字吓着,常用的就那么几个,小编整理了个对比表,一看就明白:

参数 Windows 下作用 Linux 下作用 共同点
-a 显示所有连接和监听端口 显示所有连接和监听端口 都能看全连接情况
-n 用数字显示 IP 和端口(不用域名) 用数字显示 IP 和端口(不用域名) 避免解析域名,速度快
-o 显示占用端口的进程 ID(特有) 无此参数(用 – p 替代)
-p 无此参数(Windows 用 – o) 显示占用端口的进程名和 ID(特有)
-t 无此参数 只显示 TCP 连接(特有)
-u 无此参数 只显示 UDP 连接(特有)

你看,核心参数 “-a”“-n” 俩系统都能用,区别主要在看进程和协议类型上。比如 Windows 想知道谁占了端口,得用 “-o”;Linux 就得用 “-p”。记不住没关系,收藏这表,用到时翻一眼就行。
小编刚开始分不清,在 Linux 里输 “netstat -ao”,结果报错 “无效参数”,后来才知道 Linux 没有 “-o”,换 “-p” 立马就出来了,你说气人不气人?


新手常踩的坑:这几种错误,俩系统各有各的 “作妖” 法

用 netstat 最烦的就是报错,明明照着教程输的,就是不行。小编总结了几个高频错误,看看你是不是也遇到过。

(1)“命令不是内部或外部命令”——Windows 专属坑

netstat 在 Windows 和 Linux 下怎么用?含参数详解、错误排查与实战案例对比
刚学的朋友常犯这错,输完 netstat 回车,弹出这句。其实多半是拼写错了,比如把 “netstat” 写成 “netstst”,仔细瞅瞅键盘,改过来就行。
还有种可能,系统路径没配置对,但这种情况极少。解决办法特简单:打开 “此电脑”,搜 “netstat.exe”,找到后记住它的位置(一般在 C:\Windows\System32),然后在命令提示符里 cd 到这个目录再输命令,保准管用。小编帮同事解决过一次,就是这么弄好的。

(2)“permission denied”——Linux 专属坑

Linux 下输 netstat -p,常弹出这玩意儿,意思是 “没权限”。因为看进程信息得有管理员权限,就像进小区大门得刷门禁卡一样。
解决办法特简单:命令前加个 “sudo”,比如 “sudo netstat -tunlp”,输完密码回车,立马就出来了。小编第一次用 Linux 时卡这好久,后来知道加 sudo,瞬间通畅了。

(3)参数混用报错 —— 俩系统都可能踩

比如在 Windows 里输 “netstat -t”,会提示 “无效选项”,因为 Windows 里没有 “-t” 这个参数(这是 Linux 里看 TCP 连接的)。反过来,在 Linux 里输 “netstat -o”,也会报错,因为 Linux 不用 “-o” 看进程 ID。
记住喽:Windows 里常用 “-a -n -o”;Linux 里常用 “-a -n -t -u -p”,别混着用,就不容易错。


实战案例:这 3 个场景,俩系统操作对比

光说参数太空泛,咱们拿三个常用场景举例,一步一步教你操作,保准你看完就会。

(1)查看 8080 端口被谁占用?

  • Windows 步骤:
    1. 打开命令提示符(Win+R 输 “cmd”);
    2. 输命令 “netstat -ano | findstr “8080””,回车;
    3. 看结果里 “LISTENING” 后面的数字(比如 1234),这是进程 ID;
    4. 打开任务管理器,点 “详细信息”,找 PID=1234 的进程,右键结束就行。

  • Linux 步骤:
    1. 打开终端(Ctrl+Alt+T);
    2. 输命令 “sudo netstat -tunlp | grep 8080”,回车输密码;
    3. 看结果里 “LISTEN” 后面的进程名和 ID(比如 “java 1234”);
    4. 输 “sudo kill -9 1234”,干掉这个进程。

小编测试过,俩系统都能快速查到占用情况,Linux 步骤稍多一步输密码,但看进程名更直观(Windows 得去任务管理器找)。

(2)统计 TCP 连接数 —— 服务器常用

  • Windows 步骤:
    1. 命令提示符里输 “netstat -an | find /c “ESTABLISHED””;
    2. 结果直接显示数字,比如 “15”,就是有 15 个已建立的 TCP 连接。

  • Linux 步骤:
    1. 终端里输 “netstat -ant | grep ESTABLISHED | wc -l”;
    2. 结果也是数字,比如 “15”,意思一样。

这个功能在服务器上特有用,比如网站卡了,查连接数是不是太多,俩系统都能快速搞定,Linux 的命令稍长点,但复制粘贴就行。

(3)看所有监听端口 —— 检查服务是否启动

  • Windows 步骤:
    输 “netstat -ano | findstr “LISTENING””,会列出所有在监听的端口,比如 3306(MySQL)、80(HTTP),能看出服务是不是启动了。
  • Linux 步骤:
    输 “sudo netstat -tunlp | grep LISTEN”,不仅能看到端口,还能直接看到对应的服务名(比如 nginx、mysql),不用自己猜,这点比 Windows 方便。

小编运维的服务器,每天都用这命令检查服务状态,Linux 的结果更直观,新手不用记端口对应的服务,省不少事。


小编的实在话

netstat 在 Windows 和 Linux 里用法真不算复杂,记住 “Windows 用 – o 看进程,Linux 用 – p 加 sudo”,基本能应付 80% 的场景。新手不用死记所有参数,用到啥查啥,多试两次就熟了。
要是你经常在俩系统间切换,建议把常用命令写在记事本上,比如查看端口的命令,复制粘贴比自己输快多了。其实啊,不管啥系统,多动手练才是王道,报错了别慌,照着上面的方法排错,慢慢就成高手了。希望这篇能帮你少踩坑,用 netstat 顺顺当当!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 SEO运维 netstat 在 Windows 和 Linux 下怎么用?含参数详解、错误排查与实战案例对比 https://www.tglzm.com/seo/wei-seo/3407.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务