Linux

為什麼埠只以 netstat 的特定格式列出?

  • March 27, 2012

我有 Tomcat,我正在嘗試綁定到 2 個特定埠(使用自定義連接器)。例如 portA和 port B

問題:

當我這樣做時,netstat -a |grep A沒有看到列出的埠。

如果我這樣做,netstat -antp我會看到兩個埠AB列出。

命令之間有什麼區別?

-n選項就是區別。沒有它,netstat將眾所周知的埠如 3306 和 80 轉換成如 mysql 和 http 的名稱。

如果A是眾所周知的埠而B不是,則第一個命令只會列出您的一個埠。

如果一個埠是眾所周知的,它應該列在/etc/services.

通過指定-n您告訴 netstat 使用埠號而不是服務名稱。如果您查看輸出,netstat -a您將看到埠號是人類可讀的服務名稱。這些是從 映射的/etc/services,因此如果您正在偵聽埠 80,您將看到*:httpor hostname:http,如果您正在偵聽埠 8080,您將看到*:webcacheor hostname:webcache

從 Fedora 16 上的 netstat 手冊頁:

 --numeric , -n
      Show  numerical addresses instead of trying to determine symbolic host,
      port or user names.

引用自:https://serverfault.com/questions/373798