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 命令使用教程 netstat 命令是 Linux 系统中一个非常有用的网络命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。下面是对 netstat 命令的...
Netstat 命令的使用方法和妙用 Netstat 命令是 Windows 操作系统中一个非常实用的命令,用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,主要用于检验本机各端口的网络连接情况。下面将详细介绍 Netstat 命令...
netstat命令的使用 netstat命令的使用 netstat命令的使用
#### 三、Windows系统下的Netstat命令使用 ##### 1. 基本语法 ``` NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] ``` ##### 2. 参数详解 - `-a`:显示所有连接和正在监听的端口。 - `-b...
标题中的“使用 netstat 命令监视网络状态”指的是在操作系统中,通过执行 netstat 命令来查看和分析网络连接、监听端口、路由表等信息,以了解和诊断网络活动。netstat 是一个强大的网络诊断工具,尤其在系统管理员...
### Netstat命令详解 #### 一、概述 `Netstat`是一个非常实用的命令行工具,主要用于显示与IP、TCP、UDP以及ICMP等网络协议相关的统计数据,可以帮助用户检查网络连接的状态,诊断网络问题,特别是在排查网络故障...
### 使用netstat命令详解 #### 一、netstat命令简介 `netstat`是一个非常实用且强大的命令行工具,主要用于查看网络连接的状态以及系统网络端口的使用情况。通过使用`netstat`命令,我们可以更好地确保网络的稳定...
而且病毒不仅仅是造成互联网高危状态的主要因素,网络上同时也出现了许多简明的网络攻击教程,使一些不怀好意的人可以使用“黑客工具”,对个人PC及Web站点进行简单入侵。应与此情况,黑客动画吧积极配合互联网安全...
本文将详细介绍netstat命令的使用和输出结果的解释。 netstat命令的基本使用 netstat命令的基本语法为:`netstat [选项]`,其中选项可以是`-a`、`-t`、`-u`、`-n`、`-l`、`-p`、`-r`、`-e`、`-s`、`-c`等。 * `-a...
"使用 Netstat 命令查看端口占用问题的技巧" 标题解析 本文标题为"如何用 netstat 命令查看端口占用问题的技巧",该标题揭示了本文的主题,即使用 Netstat 命令来查看端口占用问题,并提供相应的解决方案。 描述...
Netstat命令是网络管理员和系统管理员常用的一个命令行工具,它主要用于显示网络连接的状态信息。...掌握Netstat命令的使用,能够大大提高网络问题的诊断效率,帮助系统管理员更好地管理和维护网络环境。
在我们上网时,如果我们不知道对方的 IP 地址,那么我们可以使用 netstat 命令来检测对方的 IP 地址。例如,我们在 ICQ 中可以使用 netstat 命令来检测对方的 IP 地址。只要对方与我们相连时,我们就可以在 DOS 命令...
### Netstat命令详解 #### 一、Netstat命令概述 Netstat命令是Linux及类Unix系统中用于查看网络状态的强大工具。它可以帮助用户监控和管理网络连接、路由表、接口状态、多播成员等信息。Netstat对于网络管理员来说...
当我们要检查端口使用情况时,可以利用netstat命令配合特定的参数来获取所需信息。netstat命令的基本格式非常简单,其在命令提示符下输入的格式如下: netstat [选项] 这里提到的“选项”包括但不限于以下几种: -...
### Netstat命令详解 #### 一、概述 `netstat`命令是计算机系统中一个非常重要的工具,主要用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,可以帮助用户检查网络连接的状态以及诊断网络问题。通过`netstat`,...
NETSTAT 命令的基本用法是使用以下格式:netstat [-a] [-e] [-n] [-p protocol] [-r] [-s] [interval]。 参数解释 * -a:显示所有连接和侦听端口。服务器连接通常不显示。 * -e:显示以太网统计。该参数可以与 -s ...
例如,使用 `netstat -a` 命令可以显示当前系统中的所有网络连接和侦听端口,而使用 `netstat -n` 命令可以显示当前系统中的所有 TCP 连接,以数字形式显示地址和端口号。 在实际应用中,Netstat 命令可以帮助网络...
Netstat 命令是 Linux 系统中一个非常重要的命令,它可以用来查看 Linux 系统中正在使用的服务和端口情况。下面是 Netstat 命令的详细介绍。 Netstat 命令的基本用法 Netstat 命令的基本语法为:`netstat [-选项]`...
nbtstat 及 netstat 命令---查对方 IP mac 地址 根据 IP 查对方计算机名 nbtstat 命令是用于查看当前基于 NETBIOS 的 TCP/IP 连接状态的命令,通过该命令可以获得远程或本地机器的组名和机器名。该命令的主要用途是...
下面将详细介绍 NETSTAT 命令的输出结果和使用方法。 输出结果 NETSTAT 命令的输出结果可以分为两个部分:Active Internet connections 和 Active UNIX domain sockets。 Active Internet connections 该部分...