Netstat

更新时间:2024-08-27 10:47

在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

格式

该命令的一般格式为 :

选项

命令中各选项的含义如下:

-a 显示所有socket,包括正在监听的。

-n 以数字形式显示地址和端口号

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

-t 显示当前连接卸载状态。

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

-p proto 显示proto指定的协议的连接。

-b 显示在创建每个连接或侦听端口时涉及的可执行程序

-e 显示以太网统计。此选项可以与 -s 选项结合使用。

-f 显示外部地址的完全限定域名(FQDN)。

-o 显示拥有的与每个连接关联的进程PID

-q 显示所有连接、侦听端口和绑定的非侦听 TCP 端口。

-s 显示每个协议的统计。

-x 显示 NetworkDirect 连接、侦听器和共享端点。

-y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。

interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。

列标题

Name接口的名字

Mtu 接口的最大传输单位

Net/Dest 接口所在的网络

Address 接口的IP地址

Ipkts 接收到的数据包数目

Ierrs 接收到时已损坏的数据包数目

Opkts 发送的数据包数目

Oeers 发送时已损坏的数据包数目

Collisions 由这个接口所记录的网络冲突数目

常用选项

netstat -a

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

netstat -b

该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。

netstat -s

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

netstat -e

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

netstat -r

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

netstat -n

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

netstat -p

——显示协议名查看某协议使用情况

常见状态

即连接状态。在原模式中没有状态,在用户数据报协议中也经常没有状态,于是状态列可以空出来。若有状态,通常取值为:

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

没有任何连接状态

命令示例

该命令(Winxp下)的一般格式为 :

显示协议统计信息和当前 TCP/IP网络连接。

-a 显示所有连接和监听端口。

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。

这种情况下,可执行组件名在底部的 [ ] 中,顶部是其调用的组件,等等,直到 TCP/IP部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。

-e 显示以太网统计信息。此选项可以与 -s选项组合使用

-n 以数字形式显示地址和端口号。 此选项可以与 -a选项组合使用

-o 显示与每个连接相关的所属进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:

IPIPv6ICMPICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 显示路由表。

-s 显示按协议统计信息。默认地,显示 IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

-p 选项用于指定默认情况的子集。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件

interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前配置信息(只显示一次)

该命令(Win2000下)的一般格式为 :

微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。我们已经知道:Netstat它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat在内存中读取所有的网络信息

实录

用实例详细的解释一下各个参数的使用:

详细信息

我们拿其中一行来解释吧:

协议(Proto):TCP,指是传输控制协议。

本地机器名(Local Address):Eagle,俗称计算机名,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929

远程机器名(Foreign Address):219.137.227.10

远程端口:4899

状态:ESTABLISHED

状态列表

LISTEN :在监听状态中。

ESTABLISHED:已建立联机的联机情况。

-a 参数常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马

如果您Netstat你自己的话,发现下面的信息:

相关

继续我们的探讨,使用-n参数。(Netstat -n)

Netstat -n基本上是-a参数的数字形式:

-a 和 -n 是最常用的两个,据我不完全测试得出以下结果:

1. -n 显示用数字化主机名,即IP地址,而不是compute_name【eagle】

2. -n 只显示TCP连接

得到IP等于得到一切,它是最容易使机器受到攻击的东西,所以隐藏自己IP,获得别人的IP对hacker来说非常重要.

-a 和 -n 是最常用的命令,如果要显示一些协议的更详细信息,就要用-p这个参数了,它其实是-a 和 -n的一个变种,我们来看一个实例,你就明白了:【netstat -p @@@ 其中@@@为TCP或者UDP】

继续我们的参数讲解 -e

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

若接收错和发送错接近为零或全为零,网络的接口无问题。但当这两个字段有100个以上的出错分组时就可以认为是高出错率了。高的发送错表示本地网络饱和或在主机与网络之间有不良的物理连接; 高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping命令统计误码率,进一步确定故障的程度。netstat -e 和ping结合使用能解决一大部分网络故障

接下来我们开始讲解两个比较复杂的参数 -r 和 -s 。

-r是用来显示路由表信息,我们来看例子:

补充信息

Persistent Routes:(静态路由

None

-s 参数的作用前面有详细的说明,来看例子

netstat -abnov ,显示的该进程发起的程序进程或者文件列表。此命令常用来判断是否有可疑进程,之后进行相关操作。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}