`
zl198751
  • 浏览: 279386 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Netstat 命令使用

 
阅读更多

Netstat

是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

 

 

Netstat的常用参数

-c 每隔1秒就重新显示一遍,直到用户中断它。 

-i 显示所有网络接口的信息,格式“netstat -i”。  

-n 以网络IP地址代替名称,显示出网络连接情形。  

-r 显示核心路由表,格式同“route -e”。  

-t 显示TCP协议的连接情况  

-u 显示UDP协议的连接情况。  

-v 显示正在进行的工作。  

-A 显示任何关联的协议控制块的地址。主要用于调试  

-a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字  

-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列  

-m 打印网络存储器的使用情况  

-n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号  

-r 打印路由选择表  

-f address -family对于给出名字的地址簇打印统计数字和控制块信息。到目前为止,唯一支持的地址簇是inet  

-I interface 只打印给出名字的接口状态  

-p protocol-name 只打印给出名字的协议的统计数字和协议控制块信息  

-s 打印每个协议的统计数字  

-t 在输出显示中用时间信息代替队列长度信息。

netstat -

  ——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

netstat -e

  ——本选项用于显示关于以太网的统计数据,它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。

netstat -r

  ——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a

  ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat -n

  ——显示所有已建立的有效连接。

 

 

 

 

 

 

 

netstat -an中state含义

LISTEN

  :侦听来自远方的TCP端口的连接请求

SYN-SENT

  :再发送连接请求后等待匹配的连接请求

SYN-RECEIVED

  :再收到和发送一个连接请求后等待对方对连接请求的确认

编辑本段ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:

  等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:

  从远程TCP等待连接中断请求

CLOSE-WAIT

  :等待从本地用户发来的连接中断请求

CLOSING:

  等待远程TCP对连接中断的确认

LAST-ACK:

  等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT

  :等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:

  没有任何连接状态  其实可以man netstat , 看其中的stat部分解释

 

 

 

 

 

 

 

 

 

 

 

ESTABLISHED 指TCP连接已建立,双方可以进行方向数据传递

 

CLOSE_WAIT: 这种状态的含义其实是表示在等待关闭。当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话, 那么你也就可以close 这个SOCKET,发送 FIN 报文给对方,也即关闭连接。所以你在CLOSE_WAIT 状态下,需要完成的事情是等待你去关闭连接。 

 

LISTENING: 指TCP正在监听端口,可以接受链接

TIME_WAIT: 指连接已准备关闭。表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2 状态。

FIN_WAIT_1: 这个状态要好好解释一下,其实FIN_WAIT_1和 FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报 文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN 报文,此时该SOCKET即进入到FIN_WAIT_1 状态。而当对方回应ACK 报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况 下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2 状态还有时常常可以用 netstat看到。 
FIN_WAIT_2:上面已经详细解释了这种状态,实际上FIN_WAIT_2 状态下的SOCKET,表示半连接,也即有一方要求close 连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。

LAST_ACK: 是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了

SYNC_RECEIVED: 收到对方的连接建立请求,

这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。

SYNC_SEND: 已经主动发出连接建立请求。与SYN_RCVD遥想呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。

上述状态的定义与TCP规则定义的TCP状态图一致,可以对照如下两张TCP建立与终止链接的状态转换图进行理解。

 附图1. TCP建立连接之状态转换图

TCP中断连接之状态转换图


 

 

 

netstat -b 显示在创建每个连接或侦听端口时涉及的可执行程序,需要管理员权限,

               这条指令对于查找可疑程序非常有帮助。

复制代码
$ netstat -b

活动连接

协议 本地地址 外部地址 状态
TCP 10.41.10.89:1666 123.150.197.207:http CLOSE_WAIT
[IcbcDaemon.exe]
TCP 10.41.10.89:2041 221.176.31.1:8080 ESTABLISHED
[Fetion.exe]
TCP 10.41.10.89:2658 nrt19s11-in-f7:http ESTABLISHED
[chrome.exe]
TCP 10.41.10.89:2667 10.87.51.188:8014 SYN_SENT
[Smc.exe]
复制代码

netstat -n -o 

-n 以数字形式显示地址和端口号。
-o 显示拥有的与每个连接关联的进程 ID。

 

复制代码
$ netstat -n -o

活动连接

协议 本地地址 外部地址 状态 PID
TCP 10.41.10.89:1666 123.150.197.207:80 CLOSE_WAIT 1344
TCP 10.41.10.89:2041 221.176.31.1:8080 ESTABLISHED 4852
TCP 10.41.10.89:2750 10.87.51.188:8014 SYN_SENT 1584
复制代码

netstat -s -p

-s 显示每个协议的统计。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;-p 选项可用于指定默认的子网。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任
何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

 

复制代码
$ netstat -s -p tcp

IPv4 的 TCP 统计信息

主动开放 = 1732
被动开放 = 10
失败的连接尝试 = 158
重置连接 = 128
当前连接 = 2
接收的分段 = 20486
发送的分段 = 19208
重新传输的分段 = 1750

活动连接

协议 本地地址 外部地址 状态
TCP 10.41.10.89:1666 123.150.197.207:http CLOSE_WAIT
TCP 10.41.10.89:2041 221.176.31.1:8080 ESTABLISHED
TCP 10.41.10.89:2763 bogon:8014 SYN_SENT


$ netstat -s -p udp

IPv4 的 UDP 统计信息

接收的数据报 = 1998
无端口 = 283
接收错误 = 3419
发送的数据报 = 3866

活动连接

协议 本地地址 外部地址 状态

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 55.4 KB
  • 大小: 73.2 KB
  • 大小: 33.5 KB
分享到:
评论

相关推荐

    Linux中的netstat命令使用教程.docx

    Linux 中的 netstat 命令使用教程 netstat 命令是 Linux 系统中一个非常有用的网络命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。下面是对 netstat 命令的...

    Netstat命令使用方法.docx

    Netstat 命令的使用方法和妙用 Netstat 命令是 Windows 操作系统中一个非常实用的命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,主要用于检验本机各端口的网络连接情况。下面将详细介绍 Netstat 命令...

    netstat命令的使用

    netstat命令的使用 netstat命令的使用 netstat命令的使用

    cmd中Netstat命令详解

    #### 三、Windows系统下的Netstat命令使用 ##### 1. 基本语法 ``` NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] ``` ##### 2. 参数详解 - `-a`:显示所有连接和正在监听的端口。 - `-b...

    使用 netstat 命令监视网络状态

    标题中的“使用 netstat 命令监视网络状态”指的是在操作系统中,通过执行 netstat 命令来查看和分析网络连接、监听端口、路由表等信息,以了解和诊断网络活动。netstat 是一个强大的网络诊断工具,尤其在系统管理员...

    Netstat命令详解

    ### Netstat命令详解 #### 一、概述 `Netstat`是一个非常实用的命令行工具,主要用于显示与IP、TCP、UDP以及ICMP等网络协议相关的统计数据,可以帮助用户检查网络连接的状态,诊断网络问题,特别是在排查网络故障...

    教你使用netstat命令

    ### 使用netstat命令详解 #### 一、netstat命令简介 `netstat`是一个非常实用且强大的命令行工具,主要用于查看网络连接的状态以及系统网络端口的使用情况。通过使用`netstat`命令,我们可以更好地确保网络的稳定...

    网络安全培训视频教程-40.Netstat命令介绍及使用技巧.rar

    而且病毒不仅仅是造成互联网高危状态的主要因素,网络上同时也出现了许多简明的网络攻击教程,使一些不怀好意的人可以使用“黑客工具”,对个人PC及Web站点进行简单入侵。应与此情况,黑客动画吧积极配合互联网安全...

    Linux netstat命令详解

    本文将详细介绍netstat命令的使用和输出结果的解释。 netstat命令的基本使用 netstat命令的基本语法为:`netstat [选项]`,其中选项可以是`-a`、`-t`、`-u`、`-n`、`-l`、`-p`、`-r`、`-e`、`-s`、`-c`等。 * `-a...

    如何用netstat命令查看端口占用问题的技巧.docx

    "使用 Netstat 命令查看端口占用问题的技巧" 标题解析 本文标题为"如何用 netstat 命令查看端口占用问题的技巧",该标题揭示了本文的主题,即使用 Netstat 命令来查看端口占用问题,并提供相应的解决方案。 描述...

    Netstat命令使用详解

    Netstat命令是网络管理员和系统管理员常用的一个命令行工具,它主要用于显示网络连接的状态信息。...掌握Netstat命令的使用,能够大大提高网络问题的诊断效率,帮助系统管理员更好地管理和维护网络环境。

    netstat命令详解[整理].pdf

    在我们上网时,如果我们不知道对方的 IP 地址,那么我们可以使用 netstat 命令来检测对方的 IP 地址。例如,我们在 ICQ 中可以使用 netstat 命令来检测对方的 IP 地址。只要对方与我们相连时,我们就可以在 DOS 命令...

    netstat命令详解

    ### Netstat命令详解 #### 一、Netstat命令概述 Netstat命令是Linux及类Unix系统中用于查看网络状态的强大工具。它可以帮助用户监控和管理网络连接、路由表、接口状态、多播成员等信息。Netstat对于网络管理员来说...

    cmd命令netstat查看系统端口使用情况

    当我们要检查端口使用情况时,可以利用netstat命令配合特定的参数来获取所需信息。netstat命令的基本格式非常简单,其在命令提示符下输入的格式如下: netstat [选项] 这里提到的“选项”包括但不限于以下几种: -...

    netstat命令

    ### Netstat命令详解 #### 一、概述 `netstat`命令是计算机系统中一个非常重要的工具,主要用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,可以帮助用户检查网络连接的状态以及诊断网络问题。通过`netstat`,...

    NBTSTAT NETSTAT命令及用法

    NETSTAT 命令的基本用法是使用以下格式:netstat [-a] [-e] [-n] [-p protocol] [-r] [-s] [interval]。 参数解释 * -a:显示所有连接和侦听端口。服务器连接通常不显示。 * -e:显示以太网统计。该参数可以与 -s ...

    Netstat 命令

    例如,使用 `netstat -a` 命令可以显示当前系统中的所有网络连接和侦听端口,而使用 `netstat -n` 命令可以显示当前系统中的所有 TCP 连接,以数字形式显示地址和端口号。 在实际应用中,Netstat 命令可以帮助网络...

    Linux命令之netstat

    Netstat 命令是 Linux 系统中一个非常重要的命令,它可以用来查看 Linux 系统中正在使用的服务和端口情况。下面是 Netstat 命令的详细介绍。 Netstat 命令的基本用法 Netstat 命令的基本语法为:`netstat [-选项]`...

    nbtstat及netstat命令---查对方IP mac地址 根据IP查对方计算机名

    nbtstat 及 netstat 命令---查对方 IP mac 地址 根据 IP 查对方计算机名 nbtstat 命令是用于查看当前基于 NETBIOS 的 TCP/IP 连接状态的命令,通过该命令可以获得远程或本地机器的组名和机器名。该命令的主要用途是...

    NETSTAT命令详解

    下面将详细介绍 NETSTAT 命令的输出结果和使用方法。 输出结果 NETSTAT 命令的输出结果可以分为两个部分:Active Internet connections 和 Active UNIX domain sockets。 Active Internet connections 该部分...

Global site tag (gtag.js) - Google Analytics