網路埠分兩種,一種是物體的埠,也叫介面比如 USB 埠、串型埠等,還有一種網路埠是網路協議規定好的,是虛擬出來完成計算機之間互相通訊的,那麼為什麼是 65535 而不是更多呢?
因為 TCP/IP 協議裡規定的啦,規定協議是人定的,當然不是越多越好,夠用就好了,何必搞那麼多,大家都知道計算機是底層是二進位制的世界,然而 2 的 16 次方正好是 65536 ,從 0 到 65535 正好是 65536,那為什麼是 16 次方呢?
16 正好是 2 的 4 次方,你看到這些數字都是 2 的 n 次方,這也是二進位制的特徵,如果不選 2 的 16 次方,那麼只有 2 的 8 次方或者 2 的 32 次方,不是太大就是太小,所以就算了 2 的 16 次方,不多不少正合適。
俗話說,無規矩不成方圓,為了防止堵車,路口設定了紅綠燈,為了能夠找到相對應的人,家家戶戶都有自己的門牌號,計算機之間的通訊當然也不能沒有規矩,埠號也不是隨便設定的,如果你非要隨便設定那也沒人會阻止你,唯一會影響的就是你與其他計算機之間的通訊罷了,那麼設定埠有哪些規則呢?
規則設計者只負責管理 0 到 1023 之間的埠,而 0 到 255 之間到埠是用來給公共應用來用的,比如 ftp 的 21、ssh 的 22、http 的 80 等,256 到 1023 之間的埠用來分配給各個公司使用,而 1024 到 65535 之間的埠,官方叫臨時埠,大家可以隨意設定,至於是不是你的專屬埠號,那就看你的知名度如何了,用你應用的人多,自然你的埠號就耳熟能詳,用的人少,自然大家也不會把這個埠號預設給你,用的多的比如 mysql 的 3306、mssql 的 1433、oracle 的 1521 等。
每個埠都會對應一個應用或者服務,有自己專門的協議,大多數都是 TCP 協議,還有部分 UDP 協議,具體協議的選擇也是根據應用的特點來定的,埠號和 IP 就相當於我們目的地的坐標,協議就是我們現實中如何到達目的地的方式,具體選擇何種方式就看你對於結果的要求是什麼了。
我們為什麼要瞭解埠號呢?
做安全防禦或者滲透測試,連埠號是什麼都不知道,你怎麼知道該計算機上有哪些應用,這些應用有哪些安全弱點,我們該如何做?如果你瞭解這些埠號的作用和安全弱點,那你在滲透的時候,一看便知有哪些安全弱點,用什麼樣的方式去測試,去防禦,比如:用 nmap 掃描 一個 IP 地址,發現開放了 1433 埠,這時有經驗的一看就知道該伺服器上運行了 mssql 資料庫,預設使用者名稱是 sa,我們可以做的就是嘗試弱口令列舉一下,看能否登陸,所以從事安全行業,需要對所有常見埠有所瞭解,瞭解它的功能、它的特點、它常常與誰一起出現、它曾經出現過什麼樣的安全問題、如何測試它、用什麼工具測試等等。
好了,到現在埠是什麼的問題解釋的也差不多了,剩下的就需要大家自己學習了,如果解釋的哪裡有偏差,與你的理解有所不同,你可以在下方留言,說出你的理解,請不要吝嗇你的才華,最後貼一個常見埠的圖譜:
安全小提示
最近一些做黑灰產的兄弟轉換了尋找駭客搞網站的套路,以前大家都經歷過,突然郵件收到類似下麵的廣告:
最近這些人改變套路了,透過 QQ 群或者網上洩漏的 QQ 號加好友,冒充網警並稱尋找安全相關的公司和團隊合作,讓人幫他滲透菠菜網站,目前信安之路作者團隊多人遇到這樣的情況,無論你是否會遇到,請大家警惕。