作者alemonmk (单色柠檬子)
看板Network
标题Re: Fw: [请问] netstat -an 结果显示的格式问题
时间Fri Apr 6 09:33:32 2018
※ 引述《drkh (eutatosp)》之铭言:
: ※ [本文转录自 ask 看板 #1QnhIpXG ]
: 在 netstat -an 的结果显示里, 以下面几种格式呈现的"address:port"是何意义?
: (先不去管 State 的各种状态)
事实就是很关 state 事,因为你这里高达八成的问题都是 listening state socket 才会看到的。
: 第一例:
: Proto Local Address Foreign Address State
: TCP [::]:135 [::]:0
: 关於此例有两个问题.
: (1) 中括号内有两个冒号 [::], 是何意义?
IPv6 中等效於 IPv4 0.0.0.0 的位址。Socket bind 0.0.0.0 即绑电脑所有的 IP 位址,因为电脑可能有两张或以上的网路介面,这样就可以同时从所有介面接收连线。不过远端 0.0.0.0 是因为 TCP 连线四参数(本机位址,本机埠号,远端位址,远端埠号)在 listening 阶段有两个不存在,塞 0.0.0.0:0 其实就是个占位符。
: (2) [::]: 後面的 port 0, 是何意义?
上面顺便回答了。
: 第二例:
: TCP 192.168.0.1:139 0.0.0.0:0
: 请问 0.0.0.0:0 的 port 0 是何意义?
见上例(2)。
: 第三例:
: TCP [::1]:1306 [::1]:2869
: 请问 [::1] 是何意义?
简单说就是 IPv6 的 127.0.0.1。
: 第四例
: UDP 0.0.0.0:500 *:*
: 关於此例有两个问题.
: (1) *:* 是何意义?
见例一(1)。
: (2) 凡是在 Foreign Address 那一栏位出现 *:* 时,
: 其右侧 State 栏位均为空白. 为什麽?
这是 UDP 的 listening socket,因为 UDP 是 connectionless 的,所以没有 state。
也因为这个特性你也不会在 netstat 看到远端有特定位址的 UDP 条目。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.246.14.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Network/M.1522978414.A.017.html
1F:推 atrix: 推 04/06 10:56
2F:推 drkh: 多谢, 而且拍拍手... 04/06 11:56
3F:→ drkh: 关於 :: 这个记号, 我现在知道它的意义是:"表示 1~9 这些数 04/06 11:58
4F:→ drkh: 字之前的所有位元皆为 0". 04/06 11:58
5F:→ drkh: 0.0.0.0:0 只伴随 TCP 出现, 而 *.* 只伴随 UDP 出现, 这是 04/06 12:02
6F:→ drkh: 不是说, 0.0.0.0:0 这个占位符只用於 TCP, 而 *.* 这个占位 04/06 12:03
7F:→ drkh: 符只用於 UDP ? 04/06 12:03
8F:→ drkh: 如果是的话, 为什麽 TCP 及 UDP 需要不同的占位符? 04/06 12:05