欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用netstat -ano查看本机端口详解

程序员文章站 2024-03-24 19:28:52
...

cmd中输入 netstat -ano 回车.可以查看本机开放的全部端口.
用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

本机端口是1365,而远程端口是443,状态是正在连接,PID是636,我到任务管理器一查,这个PID为636的进程是QQ.EXE.
其实在netstat命令中加上-B参数,可以直接查看到,某个端口是哪些软件在使用.只是这样一来,命令运行的速度较慢.命令就是这样写:netstat -anbo