在前天的《10个命令》文中,我们提到了netstat。但90%的人可能只用了它10%的功能。
这个看似平平无奇的命令,在高手手里,既是网络状态的“透视仪”,也是揪出流氓软件的“侦察犬”。
同样是netstat命令,90%的人只会用它来“看一眼”端口号,然后就关掉了。
但在网络高手和安全专家眼里,它却是排查故障、揪出木马的“手术刀”。你和高手之间,可能只差了 -ano | findstr 这几个参数的距离。
今天,我们就来捅破这层窗户纸,让你彻底搞懂netstat的真正实力,看看高手的玩法到底有多秀。
1. 高手必杀技:一句话揪出所有“监听者”
不卖关子,先上最强的组合命令:
netstat -aon | findstr /i listening
这行命令有什么用?它能在一秒钟内,把你电脑上所有正在“监听”(等待连接)的网络端口,连同对应的程序PID(进程ID)全部列出来。哪个程序占用了哪个端口,一目了然!
命令结果
2. 参数“天书”解读:-a -n -o 都是啥意思?
netstat的强大,在于其丰富的参数,我们把它最精华的部分为你解读:
【-a】 (All):显示所有连接和监听端口。
【-n】 (Number):别显示域名了,直接给我看IP地址和端口号,速度快!
【-o】 (Owner):把占用端口的那个程序的PID(进程身份证号)也显示出来,这是抓流氓软件的关键!
【-p】 (Protocol):可以指定协议,比如只想看TCP的连接,就用netstat -p tcp。
【-r】 (Route):显示IP路由表,同route print命令。
【-s】 (Statistics):按协议显示统计信息,可以看出各种协议的收发包情况。
【-e】 (Ethernet):显示以太网的统计信息,包括收发字节数、数据包等。
3. 两大实战场景,让你立刻上手
- 场景一:电脑突然变卡,怀疑有“鬼”?
- 在CMD输入 netstat -ano,回车。
- 查看【外部地址】(Foreign Address)一栏,有没有你不认识的、状态为ESTABLISHED(已建立连接)的IP。
- 如果有,记下它对应的PID。
- 打开任务管理器,在“详细信息”标签页,找到这个PID,就能立刻揪出是哪个程序在背后联网!
- 场景二:启动Web服务,端口被占用了?
- 比如你想启动一个网站,提示80端口被占用。
- 输入我们的必杀技 netstat -aon | findstr /i 80。
- 立刻就能看到是哪个PID占用了80端口。去任务管理器里结束它,问题解决!
netstat远比你想象的强大。它就像一位默默无闻的网络侦探,善用它,你的电脑将再无秘密。
课后作业来了:
- 现在就打开CMD,输入 netstat -ano,然后回车。
- 找到一个状态为 ESTABLISHED(已建立)的连接,记下它最右侧的 PID (进程ID)。
- 打开“任务管理器”,切换到“详细信息”标签页,找到这个PID对应的程序。
你都找到了哪些“熟人”(比如微信、浏览器)?有没有发现不认识的“陌生人”?欢迎在评论区分享你的“侦察”结果!
这是我们《排障命令深度解析》系列的第一篇。点个【关注】,下期我们来拆解那个“网络GPS”——tracert的妙用!