一.查看本机开放的所有端口.点开始,运行,输入cmd ,回车.输入 netstat -ano 回车.可以查看本机开放的全部端口.其中Port是端口类型,其中Local Address代表本机IP地址和打开的端口号,Foreign Address是远程计算机IP地址和端口号,State表明当前的连接状态,PID显示的是对应进程 的PID.在任务管理器 的进程中可以根据对应的PID可以找到对应的进程的.

State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。

ESTABLISHED的意思是建立连接。表示两台机器正在通信。

CLOSE_WAIT 对方主动关闭连接或者网络 异常导致连接中断

TIME_WAIT我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT
因此我们重点关注的是ESTABLISHED状态.

二.下面具体来看一下我的运行命令后的结果:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1876
TCP 0.0.0.0:912 0.0.0.0:0 LISTENING 1220
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 1516
TCP 0.0.0.0:6059 0.0.0.0:0 LISTENING 1228
TCP 10.10.10.1:139 0.0.0.0:0 LISTENING 4
TCP 127.0.0.1:1025 127.0.0.1:4447 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4449 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4451 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4459 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4461 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4463 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4465 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4471 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4473 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4475 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4477 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4479 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4487 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4493 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4497 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4501 TIME_WAIT 0
TCP 127.0.0.1:1025 127.0.0.1:4503 TIME_WAIT 0
TCP 127.0.0.1:1130 127.0.0.1:1025 CLOSE_WAIT 1840
TCP 127.0.0.1:2421 127.0.0.1:2422 ESTABLISHED 2100
TCP 127.0.0.1:2422 127.0.0.1:2421 ESTABLISHED 2100
TCP 127.0.0.1:4457 127.0.0.1:1025 TIME_WAIT 0
TCP 192.168.203.1:139 0.0.0.0:0 LISTENING 4
TCP 192.168.203.2:139 0.0.0.0:0 LISTENING 4
TCP 222.241.146.127:1365 219.133.60.148:443 ESTABLISHED 636
TCP 222.241.146.127:4429 203.208.39.99:80 TIME_WAIT 0
TCP 222.241.146.127:4432 203.208.39.99:80 TIME_WAIT 0
TCP 222.241.146.127:4440 207.46.248.248:80 TIME_WAIT 0
TCP 222.241.146.127:4442 203.208.39.99:80 TIME_WAIT 0
UDP 0.0.0.0:500 : 1424
UDP 0.0.0.0:1366 : 636
UDP 0.0.0.0:1367 : 636
UDP 0.0.0.0:1368 : 636
UDP 0.0.0.0:1460 : 636
UDP 0.0.0.0:1465 : 636
UDP 0.0.0.0:1466 : 636
UDP 0.0.0.0:1467 : 636
UDP 0.0.0.0:2034 : 636
UDP 0.0.0.0:4500 : 1424
UDP 10.10.10.1:123 : 824
UDP 10.10.10.1:137 : 4
UDP 10.10.10.1:138 : 4
UDP 127.0.0.1:123 : 824
UDP 127.0.0.1:1033 : 3296
UDP 127.0.0.1:1369 : 636
UDP 192.168.203.1:123 : 824
UDP 192.168.203.1:137 : 4
UDP 192.168.203.1:138 : 4
UDP 192.168.203.2:123 : 824
UDP 192.168.203.2:137 : 4
UDP 192.168.203.2:138 : 4
UDP 222.241.146.127:123 : 824

我是关闭了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”的数据包。

这样看来,把Foreign Address 翻译为远程IP和端口恐怕并不那么恰当的,翻译为目标IP和端口更为恰当一些.

现在我们来看这一行:
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