netstat 输出的含义?

netstat 输出的含义?

当我输入“sudo netstat -an”时,这是我得到的输出的一部分:

Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 192.99.202.17:39922        23.82.16.66:29842           TIME_WAIT  

我对第一行所说的内容感到困惑。

它是说来自 23.82.16.66 的服务器正在通过端口 29842 还是端口 39922 连接到该服务器?

我怎么知道这是来自该 IP 的传入连接,而不是从我的服务器到该 IP 的传出连接?

如果这很重要的话,我正在运行 CENTOS 6.7。

答案1

我怎么知道这是来自该 IP 的传入连接,而不是从我的服务器到该 IP 的传出连接?

本地地址是你正在运行的机器的地址网络状态因此了解 TCP 连接的状态的命令将帮助您从本地地址的角度了解它是传入还是传出。

简化的 TCP 有限状态机

状态:时间的等待

状态描述:现在,该设备已收到另一台设备的 FIN 并确认了该 FIN,并发送了自己的 FIN 并收到了 ACK。我们已完成所有操作,只需等待确保收到 ACK 并防止与新连接重叠即可。(请参阅描述连接终止的主题 了解有关该州的更多详细信息。

事件和过渡: 定时器到期时间:经过指定的等待期后,设备转换到 CLOSED 状态。

来源


时间的等待

(服务器或客户端)表示等待足够的时间以确保远程 TCP 收到其连接终止请求的确认。[根据RFC 793连接最多可以停留在 TIME-WAIT 状态四分钟,称为两个 MSL(最大段生存期)。

来源


另一个很好的解释

由于 TCP/IP 的工作方式,连接无法立即关闭。数据包可能无序到达或在连接关闭后重新传输。CLOSE_WAIT 表示远程端点(连接的另一端)已关闭连接。TIME_WAIT 表示本地端点(此端)已关闭连接。连接被保留,以便任何延迟的数据包都可以与连接匹配并得到适当处理。如果连接在四分钟内超时,则将被删除。

来源


rfc793:图像来源

在此处输入图片描述 图片来源


更多资源

答案2

如果您检查服务器是否在端口 39922 上监听,则您可以判断连接是否从远程端建立。

例如:您的服务器在标准端口 22 上接受 ssh 连接。netstat -anutp | grep :22您将看到它是否正在侦听、是否已连接或您是否已连接。如果您打开两个终端会话到您的服务器,然后从一个终端会话使用 ssh 连接到第三个服务器,则上述命令的输出将显示您的服务器正在侦听端口 22,它在本地端有端口 22 用于连接到服务器,并且在远程端列出了端口 22,该端口是第三个服务器的 IP 以及此行本地端的一个随机端口。

我认为您无法从 netstat 命令的输出中判断连接是从本地还是远程发起的。

答案3

您的问题已经收到了两个很好的答案,因此,我抱歉又添加了一个新答案,它解决了我在您的帖子中读到的一些问题。我的回答旨在针对complement另外两个答案,而不是替代它们。

从输出中netstat无法确定连接是由您自己的计算机还是远程计算机启动的。您问这个问题这一简单事实让我很担心,而更让我担心的是该输出中的另一个奇怪事实:high端口的使用(即 > 10,000)两个都连接的两侧。

让我解释一下。PC 以某种client/sever模式为其他 PC 提供服务:例如,Web 服务器监听来自远程客户端的指定端口(实际上是两个:80 和 443)上的网页请求。对于ssh,ftp,dns等也是如此。所有基本服务都监听众所周知的端口(请参阅维基百科例如)其中一些非常重要,必须铭刻在石头上:它们的分配由以下因素决定:互联网号码分配机构。许多其他端口,尽管它们的使用不受 IANA 监管,但已成为某些应用程序的传统端口。所有listening端口的共同点是它们低于 10000。高端口(10,000 以上的端口)传统上是为outgoing连接保留的,不是聆听。

那么,你为什么会看到端口 39922 和 29842 之间的连接?因为有人在非常不标准的端口,无论是在您的机器上还是在远程机器上。您的机器是listening server?命令

sudo ss -lntp

会告诉您:它列出了您的计算机侦听传入(TCP,选项-t)连接的所有端口以及相关进程。因此,您现在可以查看哪个进程(如果有)正在侦听端口 39922。

现在让我们认为事实确实如此,i.e.您未设置的服务正在监听端口 39922。谁会这么做?黑客使用一种工具(netcat或者nc说 TCP 连接的瑞士军刀),使他们能够轻松地通过高端口在他们的 PC 和 PC 之间建立连接p0wned。这就是我担心的原因。

23.82.16.66 属于 Nobis Technology,这家公司拥有多个数据中心,提供云服务器解决方案,但我并没有因此而感到宽慰。更糟糕的是,当我在 Google 上搜索上述信息时,我偶然发现了这个帖子系统管理员讲述了 Nobis Technology 是如何成为知名垃圾邮件发送者的,并发现上面的地址 23.82.16.66 正好位于这个可怜的家伙试图阻止的范围内;瞧,你的本地 IP 地址 192.99.202.17 被举报whatismyipaddress.com作为您的邮件服务器。

最后,我对此有何看法?一个知名垃圾邮件发送者通过高端口连接到您的邮件服务器,而您对此一无所知。您的系统似乎以某种方式遭到了入侵。这就是我写这篇文章的原因。

相关内容