出于好奇,我Netstat
在我的 Windows PC 上运行了一下,发现了一些奇怪的条目,例如:
xx-fbcdn-shv-01-amt2:https
edge-star-mini-shv-01-frt3:https
mil04s03-in-f10:https
xx-fbcdn-shv-01-amt2:https
fra16s25-in-f14:https
lu7:http
40:https
mil04s04-in-f12:https
wb-in-f188:https
ec2-52-86-85-106:https
db5sch101101419:https
bam-6:https
这些是什么/我怎么知道这些是什么?
答案1
您可以从中获取更多有用信息网络状态命令可以通过添加-f
和-b
参数来实现,如下所示:
netstat -f -b
根据帮助(netstat -?
)-f
开关:
显示外部地址的完全限定域名 (FQDN)。
以及-b
开关:
显示创建每个连接或侦听端口所涉及的可执行文件。在某些情况下,众所周知的可执行文件承载多个独立组件,在这些情况下,将显示创建连接或侦听端口所涉及的组件的顺序。在这种情况下,可执行文件名称位于底部的 [] 中,顶部是它调用的组件,依此类推,直到达到 TCP/IP。请注意,除非您拥有足够的权限,否则此选项可能非常耗时,并且会失败。
将两者放在一起,您将看到哪些进程正在创建每个连接以及完整的远程主机名。
为了帮助调查可执行文件(以及它们建立的连接),请使用 Microsoft 的进程探索器。运行该程序时,您将看到系统上运行的所有内容的列表,如下所示:
答案2
其他答案在大多数情况下都很好地阐明了这一点,但我想详细说明一下这种40
情况 - 例如显示只有几个数字而没有其他内容、没有字母顺序的条目。
对我来说,奇怪的是条目只显示为单个十进制数。这些条目是什么并不完全明显,也不容易通过 Google 搜索到。我有一生的网络经验,但这仍然让我感到困惑。
例如我有如下条目:
Active Connections
Proto Local Address Foreign Address State
TCP 10.10.10.10:7890 38:https ESTABLISHED
运行netstat -n
显示 IP 后,我意识到这是我自己的 GCP 服务器之一 - 这让我更加好奇发生了什么,我想也许是反向 DNS 或我的某个 DNS 服务器或其他东西配置不正确。反向 DNS 看起来没问题,不过当我看到反向 DNS 时应该会明白。
我之前研究过这个问题,我不记得我是否得到了满意的答案,所以当我今天看到它时,我偶然发现了这个帖子并且也尝试了一下-f
- 就在那时我恍然大悟!
显示-f
内容(实际IP已改变):
TCP 10.10.10.10:7890 38.255.255.255.bc.googleusercontent.com
啊哈!38
是子域名的第一部分,并且系统的 常常hostname
被认为是第一部分,例如myfileserver.westoffice.mycompany.com
主机名的 是myfileserver
。
在这种情况下,GCP 返回38.255.255.255.bc.googleusercontent.com
反向 DNS 查找,Windowsnetstat
遵循此正常惯例,认为38
这是机器的主机名,因此仅显示38
在列表中。
我现在很好奇/怀疑这是否是 AWS在其自动生成的主机名中使用-
(例如,像这样的 AWS 主机名)而不是 GCP 使用的的原因。ec2-54-255-255-255.compute-1.amazonaws.com
.
对于那些在社交网络方面知识渊博但却偏执的人来说,看到这样的列表几乎会立即让你大吃一惊。
即使您没有指定-n
显示 IP,任何netstat
列出的反向 DNS 查找失败的连接都将显示为数字 IP 地址 - 因此您不能 100% 确定您查看的只是 DNS 名称的一部分而不是 IP 的一部分(尽管在这种情况下 DNS 名称包含它指向的 IP,但它在技术上仍在此处打印为 DNS 名称)。
此外,IP 地址不必以x.x.x.x
格式表示;例如 CloudFlare 的1.1.1.1
DNS 服务器也可以表示为16843009
,任何包含部分的 IP 地址0
都可以将其删除,例如10.0.0.1
和10.1
是等效的,等等。所以38
这里可以从技术上来说0.0.0.38
,这显然是一个不可用的 IP 地址。
如果您的主机文件中有38
一个指向某个 IP 的条目,那么它也可以netstat
像这样显示。
原帖者的一个条目确实40
也曾是这种情况的受害者。原帖者列出的所有其他地址都不会让我感到疑惑,但单单一个数字就有点特殊了。
我指责 Google/GCP 使用自动主机名/反向 DNS 设置来.
代替-
或替代。它忽略了至少与网络一样古老甚至比网络更古老的特定机器/服务的 DNS 和主机名。
我还指责微软的netstat
实施通常假设始终遵守这一惯例,尤其是在公共互联网上。我可能会将域名截断为字段的长度,同时-f
仍然允许显示完整域名,而不是假设第一个子域名始终是主机名并在第一个子域名处截断.
- 这是 Ubuntu 版本netstat
在 Linux 上似乎所做的,避免了这种混淆,无论哪种方式,反向 DNS 查找仍在进行。如果您确实需要/想要仅将第一部分视为主机名,那么也许可以-h
为此添加一个选项或其他东西。
我可能还会责怪 DNS 标准没有禁止将数字作为子域名的第一个字符;尽管这可以理解,因为 DNS 的工作方式是可以理解的,但域名和子域名实际上并没有什么不同,因此,如果这是 DNS 最初设计时的一条规则,那么您就不能将其123plumbing.com
作为域名。
答案3
您注意到“ec2-52-86-85-106 实际上是 52.86.85.106,也就是 Amazon,尽管我并没有连接到它。”反向 DNS 查找IP 地址返回的是ec2-52-86-85-106.compute-1.amazonaws.com
,即返回的是完全限定域名 (FQDN),因为有一个PTR DNS 记录将该 FQDN 与该 IP 地址关联起来。但您可能已经在 Web 浏览器中访问了 www.example.com,而 example.com 域名可能具有DNS 资源记录将该 FQDN 与 IP 地址 52.86.85.106 关联。52.84.0.0 至 52.95.255.255 地址块分配给亚马逊的美国互联网号码注册中心亚马逊利用它亚马逊网络服务(AWS)。
假设我从域名注册商。我现在想在 www.example.com 上托管我的网站,并决定使用 AWS 来托管我的网站。我配置DNS服务器,以便我的域名指向 AWS 为我提供的用于托管我网站的服务器的 IP 地址。假设该地址为 52.86.85.106。因此,如果您在 Web 浏览器中输入 www.example.com,您的系统将连接到 52.86.85.106。但现在您在系统上发出 netstat 命令。如果您使用netstat -an
或ec2-52-86-85-106
省略n
命令的参数,您会看到与 52.86.85.106 的连接。因此,除非您发出nslookup在 www.example.com 上执行命令,您的浏览器连接到我的网站,这就是您ec2-52-86-85-106
在结果中看到的原因网络状态您发出的命令。
关于1e100.net
您在另一条评论中提到的域名,正如您所发现的,该1e100.net
域名属于 Google。1e100 是 1 的科学计数法古戈尔,即 1幂次方100,即 1 后面跟着一百个零。Google 使用域名作为其服务器。如果您最近访问过Gmail帐户或使用系统上的浏览器通过 google.com 执行搜索,您可能会在结果中看到返回的域名。
其他netstat 命令选项它将-o
向您显示进程 ID (PID)建立连接的进程。然后您可以使用Windows 任务管理器将 PID 链接到你正在运行的应用程序,例如 Chrome、Firefox、Microsoft Edge 等,方法是单击任务管理器中的详细信息选项卡查看 PID。
答案4
看看我的,过去 2-3 年一直受到黑客的针对性攻击。不,我发现其中一个与中国制造的木马等有关。我只是阻止他们,删除它。或者设置一个像 kali linux 这样的蜜罐/沙盒并逆转攻击。 在此处输入图片描述