了解linux中的netstat -na命令

时间:2015-04-23 08:19:07

标签: tcp tcpclient netstat

我面临着一个非常糟糕的问题,我对网络概念很可怜。当我尝试使用tcp协议连接到系统时,我遇到了故障,但如果我在一段时间后连接到同一系统,我会获得成功。

场景:     我断开连接到目标环境,显然没有建立到目标的连接,这通过使用以下命令确认         netstat -na | grep 10.11.12.13     我提出了一个新的要求         netstat -na | grep 10.11.12.13我在下面给出了失败

  

tcp 0 182 :: ffff:127.0.0.1:1234 :: ffff:10.11.12.13:8444   ESTABLISHED

我尝试在一段时间后再次发起同样的请求         netstat -na | grep 10.11.12.13我在ESTABLISHED模式下看到了连接。

我只在netstat结果的第二列中观察到差异,其中值为182,当我的请求成功时我没有看到。我想知道这182代表什么。

3 个答案:

答案 0 :(得分:1)

这可能有助于您理解一些内容:

http://www.auditmypc.com/tcp-port-182.asp

来自 linux手册页

   When  a  network error occurs, TCP tries to resend the packet.  If it doesn't succeed after some time, either ETIMEDOUT or
   the last received error on this connection is reported.

   Some applications require a quicker error notification.  This can be enabled with the IPPROTO_IP level  IP_RECVERR  socket
   option.   When  this  option  is enabled, all incoming errors are immediately passed to the user program.  Use this option
   with care — it makes TCP less tolerant to routing changes and other normal network conditions.

答案 1 :(得分:1)

考虑一下:

[root@stg openssl]# netstat -na| more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State

您可以在netstat输出的开头看到列的说明。

1st:协议名称。在您的情况下TCP

第二名:Recv-Q。 Local Address处的应用程序尚未从TCP缓冲区提取的数据字节数。在你的情况下它是零

第3名:Send-Q。应用程序为TCP提供的数据字节数,以及对等TCP未确认的数据字节数。在你的情况下这是182

答案 2 :(得分:1)

要了解更多信息,请在此处使用netstat命令:

-a:所有端口 -t:端口TCP -u:端口UDP -l:侦听端口 -n:没有域名解析的IP地址 -p:程序的名称及其关联的PID

所以:

- 显示所有端口(TCP& UDP),PId以及程序的相关名称:

 $ netstat -paunt

- 显示所有侦听端口(TCP),PId以及程序的相关名称:(我们也可以使用grep命令进行过滤)

 $ sudo netstat -plnt | grep ':80'

我希望它会有所帮助:)