突然有事情涉及到本地端口,对相关内容进行了了解,这部分知识应该偏向运维,有些不好理解,查起来也零零散散的,理解的可能也有误……只记录一部分东西

想要查看本地端口的情况,在cmd下使用

netstat -an

查看端口情况。会出现长长的一串东西,一部分是TCP,一部分是UDP,但里面的东西大概可以分成几种,下面慢慢分析。

包括四个字段:协议、内部地址、外部地址、状态

1、状态

  先要理解状态,参考:https://www.cnblogs.com/qianzf/p/7064827.html

  这里说几个我自己关注的状态,比较浅显的含义。

   LISTENING:是指开放着的,等待连接的。

  ESTABLISHED:这是正在连接

  CLOSE_WAIT、TIME_WAIT、SYN_SENT:这些是三次握手四次挥手过程中的某些状态,还有一个断网时出现的状态没有去记

2、外部地址是0.0.0.0的TCP连接

  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49664          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49665          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49666          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49667          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49668          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49671          0.0.0.0:0              LISTENING
  TCP    10.18.16.169:139       0.0.0.0:0              LISTENING
  TCP    127.0.0.1:4300         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:4301         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:10000        0.0.0.0:0              LISTENING
  TCP    127.0.0.1:10001        0.0.0.0:0              LISTENING
  TCP    127.0.0.1:49685        0.0.0.0:0              LISTENING
  TCP    127.0.0.1:54530        0.0.0.0:0              LISTENING

  这些是对外开放的端口,0.0.0.0可以表示任何地址。

  而上面这些开放端口也包括三种:

    • 0.0.0.0:端口号
    • 127.0.0.1:端口号
    • 主机ip:端口号

  它们的区别是0.0.0.0和主机ip后面跟的端口号是对外部网络开放的,是可以通过服务域名、ip可以访问的端口,而127.0.0.1的端口则是只供本机访问的端口。

3、远程地址是127.0.0.1:其他端口号的TCP协议

  TCP    127.0.0.1:60866        127.0.0.1:54530        ESTABLISHED
  TCP    127.0.0.1:60867        127.0.0.1:60868        ESTABLISHED
  TCP    127.0.0.1:60868        127.0.0.1:60867        ESTABLISHED

  可以看到这些端口一搬处于正在连接的状态,我不太清楚这些的含义,但是看另一篇文章https://blog.csdn.net/fearGod/article/details/84051851

提到了一点点,或许是代理?是由某些应用引起的,比如说看第一条,我打算访问127.0.0.1:54530的时候就会访问到127.0.0.1:60866这样子吧。

4、[::]:0和 *:*

  它们相当于[0.0.0.0]:0,相当于任意地址

5、正常的对外的端口

  TCP    10.18.16.169:60966     123.125.132.35:443     ESTABLISHED
  TCP    10.18.16.169:60971     202.106.5.21:443       ESTABLISHED
  TCP    10.18.16.169:60975     61.135.169.121:443     ESTABLISHED
  TCP    10.18.16.169:60982     216.58.200.46:443      SYN_SENT
  TCP    10.18.16.169:60983     216.58.200.46:443      SYN_SENT
  TCP    10.18.16.169:60984     112.80.255.252:443     ESTABLISHED
  TCP    10.18.16.169:60985     123.125.132.31:443     ESTABLISHED
  TCP    10.18.16.169:60986     202.89.233.100:443     ESTABLISHED
  TCP    10.18.16.169:60987     13.107.18.11:443       ESTABLISHED
  TCP    10.18.16.169:60988     10.236.9.147:80        ESTABLISHED
  TCP    10.18.16.169:60989     216.58.200.46:443      SYN_SENT
  TCP    10.18.16.169:60990     131.253.33.254:443     ESTABLISHED
  TCP    10.18.16.169:60991     13.107.18.254:443      ESTABLISHED
  TCP    10.18.16.169:60992     13.107.3.254:443       SYN_SENT

  一般内部地址是主机ip,处于连接或者握手挥手阶段。如上80端口是为超文本传输协议(HTTP)开放的端口,443是网页浏览端口,主要用于https

02-13 08:26