用netstat -ano查看本机端口详解
暗潮汹涌 2020-08-25 11:30:11
cmd中输入 netstat -ano
回车.可以查看本机开放的全部端口.
- 协议:分为TCP和UDP
- 本地地址(Local Address):代表本机IP地址和打开的端口号
- 外部地址(Foreign Address):远程计算机IP地址和端口号
- 状态(State):表明当前的连接状态
- PID:对应进程 的PID。在任务管理器 的进程中可以根据对应的PID可以找到对应的进程
其中状态的几个含义:
- LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。
- ESTABLISHED的意思是建立连接。表示两台机器正在通信。
- CLOSE_WAIT 对方主动关闭连接或者网络 异常导致连接中断
- TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT
因此我们重点关注的是ESTABLISHED状态.
我是关闭了135端口的了,但为什么在本地端口中还有135这个端口呢?我们看一下它的远程IP是0.0.0.0,这个是 无效IP。
严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。因而可以断定,这个端口 是不会连接到外网的.
再来看远程IP中有127.0.0.1,而这个127.0.0.1 是本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统 中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。
现在我们来看这一行:
TCP 222.241.146.127:1365 219.133.60.148:443 ESTABLISHED 636
- 1
本机端口是1365,而远程端口是443,状态是正在连接,PID是636,我到任务管理器一查,这个PID为636的进程是QQ.EXE.
其实在netstat命令中加上-B参数,可以直接查看到,某个端口是哪些软件在使用.只是这样一来,命令运行的速度较慢.命令就是这样写:netstat -anbo
最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。