忽然有事情涉及到本地端口,對相關內容進行了瞭解,這部分知識應該偏向運維,有些很差理解,查起來也零零散散的,理解的可能也有誤……只記錄一部分東西html
想要查看本地端口的狀況,在cmd下使用網絡
netstat -an
查看端口狀況。會出現長長的一串東西,一部分是TCP,一部分是UDP,但裏面的東西大概能夠分紅幾種,下面慢慢分析。運維
包括四個字段:協議、內部地址、外部地址、狀態spa
一、狀態.net
先要理解狀態,參考:http://www.javashuo.com/article/p-pbqezqlk-kq.html代理
這裏說幾個我本身關注的狀態,比較淺顯的含義。code
LISTENING:是指開放着的,等待鏈接的。htm
ESTABLISHED:這是正在鏈接blog
CLOSE_WAIT、TIME_WAIT、SYN_SENT:這些是三次握手四次揮手過程當中的某些狀態,還有一個斷網時出現的狀態沒有去記ip
二、外部地址是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和主機ip後面跟的端口號是對外部網絡開放的,是能夠經過服務域名、ip能夠訪問的端口,而127.0.0.1的端口則是隻供本機訪問的端口。
三、遠程地址是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這樣子吧。
四、[::]:0和 *:*
它們至關於[0.0.0.0]:0,至關於任意地址
五、正常的對外的端口
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。
忽然斷開網絡鏈接就變成下面這個樣子了(使用netstat -a查看的結果)
TCP 10.18.16.169:61763 61.135.169.121:https FIN_WAIT_1 TCP 10.18.16.169:61764 39.96.126.153:https FIN_WAIT_1 TCP 10.18.16.169:61766 61.240.129.191:https FIN_WAIT_1 TCP 10.18.16.169:61767 111.206.4.103:https FIN_WAIT_1 TCP 10.18.16.169:61769 119.167.170.226:https FIN_WAIT_1 TCP 10.18.16.169:61770 123.125.132.35:https FIN_WAIT_1