我安装 python 并python -m SimpleHTTPServer在 Windows WSL 中启动。但该命令netstat -an返回一个空列表。当然,我无法在 Windows 浏览器中访问 url http://127.0.0.1:8000。
此外,任何暴露端口(如 ssh)的命令都不起作用。
这是我的 Windows 版本:
以下是截图:

端口 9001 似乎被 Microsoft-HTTPAPI/2.0 使用。我从浏览器中得到这个http://localhost:9001/
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 09 Apr 2020 08:10:11 GMT
Connection: close
Content-Length: 315
Run Code Online (Sandbox Code Playgroud)
使用netstat -aonb | grep 9001:
TCP 0.0.0.0:9001 0.0.0.0:0 LISTENING 4
TCP [::]:9001 [::]:0 LISTENING 4
TCP [::1]:9001 [::1]:50916 TIME_WAIT 0
TCP [::1]:9001 [::1]:50957 TIME_WAIT 0
Run Code Online (Sandbox Code Playgroud)
所以PID 4 是ntoskrnl.exe。
我检查了 Internet Information Service 已关闭
我怎样才能进一步调查?感谢您的帮助
我对这个命令感到疯狂netstat。
在 man 中我们可以读到,在 Active Internet Connections (TCP, UDP, raw) 的输出中,我们应该有:
User :套接字所有者的用户名或用户 ID (UID)。
但是当我这样做时
netstat -natp
Run Code Online (Sandbox Code Playgroud)
我的输出没有显示任何所有者(或 UID)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:4713 0.0.0.0:* LISTEN 2159/pulseaudio
(...)
Run Code Online (Sandbox Code Playgroud)
并且我在 man 中看不到任何选项来显示 PID 的所有者。
有--numeric-users 选择,但它不会改变任何东西。
有什么我想念的吗?还是 netstat 有问题?
还有其他方法可以获取这些信息吗?
谢谢你的帮助 :)
在我的本地机器上运行 netstat -a 时,我看到 0.0.0.0 地址上的端口正在侦听。我会假设 0.0.0.0 是我的本地机器,除了我还看到 127.0.0.1 侦听特定端口。
0.0.0.0地址是什么?0.0.0.0 和 127.0.0.1 有什么区别?
下面是一个输出示例:
Proto Local Address Foreign Address State
TCP 0.0.0.0:445 MyComputer1:0 LISTENING
TCP 0.0.0.0:49156 MyComputer1:0 LISTENING
TCP 0.0.0.0:49157 MyComputer1:0 LISTENING
TCP 127.0.0.1:6999 MyComputer1:0 LISTENING
TCP 127.0.0.1:6999 MyComputer1:49801 ESTABLISHED
TCP 127.0.0.1:6999 MyComputer1:57172 TIME_WAIT
Run Code Online (Sandbox Code Playgroud) 我使用了 netstat 并且我看到一些我想关闭的端口打开。我如何关闭它们?
计算机是运行 OS X 的 Mac
根据本文netstat 5的建议,我正在使用命令检查我的 Windows 8.1 PC 的传出连接,以检查我是否有僵尸网络问题。
一切看起来都很正常,除了这个:
192.168.8.102:51522 连接到 msnbot-191-232-139-86:https
我在网上找不到任何关于它的明确信息,它与我期望使用我的连接的任何内容都不对应。显然有一个名为 msnbot 的微软网络爬虫,但我看不出任何合理的理由为什么它会出现在我的机器上。
我能找到的最接近的是西班牙语,这似乎表明它与 Windows 内置的网络搜索有关 - 但我不使用这样的东西,而这种联系netstat一直存在。
按照 Jonno 的建议,我netstat 5 -b以管理员身份从命令提示符运行,并explorer.exe以该连接的所有者身份提供。
在这种情况下 msnbot 是什么,如果它出现在这样的列表中,这意味着什么?我不知道安装了任何 MSN 软件。
我正在尝试学习一些关于网络的知识,我希望得到一些帮助。
有谁知道之间的区别nmap和netstat?
我有点知道如何使用它们以及如何检查端口,但我也想知道它们之间的区别:)
我只是想了解 :::: 和 0.0.0.0 之间的区别。我相信两者都是相同的,如果有任何处理器正在侦听该端口,则允许来自外部的连接。
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp 0 0 :::32813 :::*
tcp 0 0 :::5080 :::*
Run Code Online (Sandbox Code Playgroud) 我认为我提出的 Web 服务器进程正在侦听 localhost:8080,并尝试连接到它,但一直收到连接重置错误。事实证明,我错了,我的进程正在侦听一个完全不同的端口。
然而,我无法理解的是为什么我会收到连接重置错误,而不是如果没有进程在该端口上侦听,通常会得到“连接被拒绝”。据我所知,在 8080 上没有其他东西可以收听:
$ sudo lsof -i -P | grep 8080
# no result
$ sudo netstat -a -n | grep 8080
# still no result
Run Code Online (Sandbox Code Playgroud)
然而,最初接受与此端口的连接(尽管在进一步数据时关闭):
$ /usr/local/bin/wget localhost:8080
--2014-01-14 16:29:22-- http://localhost:8080/
Resolving localhost... ::1, 127.0.0.1, fe80::1
Connecting to localhost|::1|:8080... failed: Connection refused.
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... No data received.
Run Code Online (Sandbox Code Playgroud)
与 telnet 类似:
$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to …Run Code Online (Sandbox Code Playgroud) 我在启用了 IPv6 和 IPv4 的 64 位 Windows 7 上运行 MySQL 5.6。
在我的.ini中:
port=3306
bind-address = ::1
Run Code Online (Sandbox Code Playgroud)
我希望使用 IPv6 并限制为环回适配器。我使用::1而不是127.0.0.1因为带有 IPv6 的 win7 默认为::1for localhost。
使用此配置 netstat 报告以下内容:
C:\>netstat -an |findstr 3306
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
TCP [::1]:3306 [::]:0 LISTENING
Run Code Online (Sandbox Code Playgroud)
似乎连接可能在 IPv4 接口上被阻止,但看到 netstat 报告0.0.0.0端口3306已打开让我感到不安。
MySQL文档指定:
如果地址是“常规”IPv4 或 IPv6 地址(例如 127.0.0.1 或 ::1),则服务器仅接受针对该 IPv4 或 IPv6 地址的 TCP/IP 连接。
TCPView 给了我与 netstat 相同的信息。我无法让 TDIMon 在我的系统上工作。
如何防止 mysql …