`netstat` 不显示由 python SimpleHTTPServer 绑定的套接字?
`netstat` doesn't show sockets binded by python SimpleHTTPServer?
本地服务器 运行 使用来自 Python 2.7
的 SimpleHTTPServer 模块
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
然后我使用 netstat 搜索那个套接字,使用 8000 作为端口号的过滤器,但是,我找不到任何带过滤器的套接字(即使我打开浏览器 window 并访问 127.0.0.1:8000
).
$ netstat | grep 8000
// "return Nothing"
有没有人知道为什么我在 netstat
中看不到 Python SimpleHTTPServer 绑定的套接字?
请注意 0.0.0.0
意味着您的服务器将在您计算机的所有 IP 地址上列出,因此请将 python 代码中的 IP 地址从 0.0.0.0
更改为 127.0.0.1
或 localhost
,如果你想 运行 在本地。
更好 运行 : netstat -an|grep 8000
当您 运行 netstat w/o -n
参数时,它将地址显示为名称,包括协议。因此,如果您正在侦听端口 80,它会显示为 localhost:http
并且您的 8000 grep 将找不到它。在您的情况下,它是端口 8000,并且根据
grep 8000 /etc/services
它可能显示为 localhost:irdmi
运行
netstat -na
将解决这个问题并报告更有用的 :8000。
有趣的是,netstat 的默认模式如何比 -n 更多 "friendly" 并且几乎总是不如 -n 有用。
@MK 扩展答案。
默认情况下,netstat
仅显示 连接的端口 ,但 不显示 那些只是闲置的端口。因此,混乱。
netstat
的作者为了简单或美观而做出了这个决定。
如果您连接到那个 :8000
端口,它将在 netstat
调用中显示。
否则,你必须明确表示你想要它 ALL.
netstat -a | grep 8000
本地服务器 运行 使用来自 Python 2.7
的 SimpleHTTPServer 模块$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
然后我使用 netstat 搜索那个套接字,使用 8000 作为端口号的过滤器,但是,我找不到任何带过滤器的套接字(即使我打开浏览器 window 并访问 127.0.0.1:8000
).
$ netstat | grep 8000
// "return Nothing"
有没有人知道为什么我在 netstat
中看不到 Python SimpleHTTPServer 绑定的套接字?
请注意 0.0.0.0
意味着您的服务器将在您计算机的所有 IP 地址上列出,因此请将 python 代码中的 IP 地址从 0.0.0.0
更改为 127.0.0.1
或 localhost
,如果你想 运行 在本地。
更好 运行 : netstat -an|grep 8000
当您 运行 netstat w/o -n
参数时,它将地址显示为名称,包括协议。因此,如果您正在侦听端口 80,它会显示为 localhost:http
并且您的 8000 grep 将找不到它。在您的情况下,它是端口 8000,并且根据
grep 8000 /etc/services
它可能显示为 localhost:irdmi
运行
netstat -na
将解决这个问题并报告更有用的 :8000。 有趣的是,netstat 的默认模式如何比 -n 更多 "friendly" 并且几乎总是不如 -n 有用。
@MK 扩展答案。
默认情况下,netstat
仅显示 连接的端口 ,但 不显示 那些只是闲置的端口。因此,混乱。
netstat
的作者为了简单或美观而做出了这个决定。
如果您连接到那个 :8000
端口,它将在 netstat
调用中显示。
否则,你必须明确表示你想要它 ALL.
netstat -a | grep 8000