
我有一個與連接埠號碼及其相關服務的概念相關的問題。
鑑於連接埠號碼是一種識別特定進程的方法,當網際網路或其他網路訊息到達伺服器時,該訊息將被轉送到該特定進程(例如:Web 伺服器應該在連接埠 80 和 8080...等上找到) )
簡而言之,我的問題是:
如果 nmap 掃描顯示:
======================================
host: 10.0.xxx.xx
port state service reason
20000 open dnp syn-ack ttl 56
======================================
我是否真的找到了 SCADA 系統? (DNP3 作為分散式網路協定由 SCADA 主站使用)
好吧,我自己的意見是肯定的! ...但不幸的是,一旦我與伺服器的所有者取得聯繫,他告訴我我完全錯了,因為他安裝了一個使用端口20000 的基於java 的應用程式(https://babelfish.arc.nasa.gov/trac/jpf/wiki/user/output)
我是否正確地說,這傢伙應該選擇另一個端口,因為端口 20000 被認為是 DNP 協議的官方端口號(https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)?
多謝
答案1
沒有硬性要求特定連接埠只能由特定服務使用。我可以在連接埠 1234 而不是連接埠 80 上運行 Web 伺服器,除了很難找到它之外,沒有什麼可以阻止我這樣做。 (在我的家庭網路面向公眾的一側,我確實在非標準端口上運行一兩個服務,只是為了防止腳本小子。)
連接埠可以由 IANA 保留(例如 tcp/22 用於ssh
),甚至還有一個「用戶定義的服務」範圍,但如今在我們更骯髒和不太友好的互聯網上,其中大部分通常被忽略。當然,除了許多網路使用者根本不知道這一事實之外。