作者drkh (eutatosp)
看板ask
标题[请问] netstat -an 结果显示的格式问题
时间Fri Apr 6 07:43:43 2018
在 netstat -an 的结果显示里, 以下面几种格式呈现的"address:port"是何意义?
(先不去管 State 的各种状态)
第一例:
Proto Local Address Foreign Address State
TCP [::]:135 [::]:0
关於此例有两个问题.
(1) 中括号内有两个冒号 [::], 是何意义?
(2) [::]: 後面的 port 0, 是何意义?
第二例:
TCP 192.168.0.1:139 0.0.0.0:0
请问 0.0.0.0:0 的 port 0 是何意义?
第三例:
TCP [::1]:1306 [::1]:2869
请问 [::1] 是何意义?
第四例
UDP 0.0.0.0:500 *:*
关於此例有两个问题.
(1) *:* 是何意义?
(2) 凡是在 Foreign Address 那一栏位出现 *:* 时,
其右侧 State 栏位均为空白. 为什麽?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.102.149
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ask/M.1522971827.A.850.html
※ drkh:转录至看板 Network 04/06 07:45
※ 编辑: drkh (36.227.102.149), 04/06/2018 07:49:47
1F:→ yzfr6: 0.0.0.0/遮罩 代表本网段的所有节点 04/06 08:17
2F:→ Schottky: 你知道 IPv6 吗?第一和第三例是 IPv6 04/06 09:48
3F:→ Schottky: :: 代表 0:0:0:0:0:0:0:0 而 port 0 代表任意 port 04/06 09:51
4F:→ Schottky: ::1 代表 0:0:0:0:0:0:0:1 也就是 localhost 04/06 09:52
5F:→ drkh: 明白了一件事, :: 表示 1~9 这些数字之前所有的 0. 04/06 11:33
6F:→ drkh: 而在 :: 前後加上中括号, 成为 [::] 是 netstat 为了将 :: 04/06 11:34
7F:→ drkh: 与 port 前面的 : 区隔开. 04/06 11:35
9F:→ Schottky: 这边有关於 IPv6 的详细说明 04/06 11:36
※ 编辑: drkh (36.227.102.149), 04/06/2018 11:39:01
10F:→ drkh: 多谢! 04/06 11:39
11F:→ drkh: 第四例的问题能否也指教一下? 04/06 11:40
12F:→ drkh: 04/06 11:49
13F:→ drkh: 关於第四例, 在 Network 板有网友回覆, 原来 UDP 是 04/06 11:50
14F:→ drkh: connectionless, 所以不可能有任何 state. 该栏位也就留空了 04/06 11:51
15F:→ Schottky: UDP 其实还是可以有 connection,只不过意义和 TCP 的 04/06 12:18
16F:→ Schottky: connection 不一样,只是预填目的地 IP 和 port 的性质 04/06 12:19
17F:→ Schottky: 所以你偶而还是会看见 state 写 ESTABLISHED 04/06 12:20
18F:→ Schottky: 比如我现在就有 UDP state 写 ESTABLISHED 连到 DNS 04/06 12:20
19F:→ Schottky: 但 netstat 中大部份的 UDP 在 state 那栏还是留白的 04/06 12:21
20F:→ Schottky: 原因就如你所说,UDP 没有什麽特别的 state 可以讲 04/06 12:22
21F:→ Schottky: 即使写 ESTABLISHED 它也只是预填资料,不是真的 state 04/06 12:23
22F:→ Schottky: 你如果知道什麽是 socket 介面,UDP 可以呼叫 connect() 04/06 12:24
23F:→ Schottky: 这是没什麽用的秘技,很多书上根本不会讲 04/06 12:24