Linux
為什麼埠只以 netstat 的特定格式列出?
我有 Tomcat,我正在嘗試綁定到 2 個特定埠(使用自定義連接器)。例如 port
A
和 portB
。問題:
當我這樣做時,
netstat -a |grep A
我沒有看到列出的埠。如果我這樣做,
netstat -antp
我會看到兩個埠A
並B
列出。命令之間有什麼區別?
-n
選項就是區別。沒有它,netstat
將眾所周知的埠如 3306 和 80 轉換成如 mysql 和 http 的名稱。如果
A
是眾所周知的埠而B
不是,則第一個命令只會列出您的一個埠。如果一個埠是眾所周知的,它應該列在
/etc/services
.
通過指定
-n
您告訴 netstat 使用埠號而不是服務名稱。如果您查看輸出,netstat -a
您將看到埠號是人類可讀的服務名稱。這些是從 映射的/etc/services
,因此如果您正在偵聽埠 80,您將看到*:http
orhostname:http
,如果您正在偵聽埠 8080,您將看到*:webcache
orhostname:webcache
。從 Fedora 16 上的 netstat 手冊頁:
--numeric , -n Show numerical addresses instead of trying to determine symbolic host, port or user names.