Linux命令:netstat【监控TCP/IP网络,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息】【TCP的11种状态】

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

netstat [选项]

选项描述
-a显示所有网络连接和监听的所有端口。
-b显示创建每个连接或者监听商品的相关可执行程序。有时候有些已知的可执行程序拥有多个独立组件,在这种情况下会按一定顺序显示创建连接或者端口的组件。netstat会将可执行程序的名称显示在底下的方括号[]中,而顶部显示的是其调用的组件,只有在TCP/IP连接上后才会继续继续下一步。注意这种操作可能很耗时且在你没有足够权限的情况下可能会失败(笔者注:所以最好以管理员权限执行该命令)。
-e显示以太网统计数据。这个参数往往与-s组合使用。
-f显示外部地址的FQDN名称(完全限定域名)。
-n以数字形式显示地址和端口。
-o显示每个连接相关的所属进程的ID。
-p proto显示通过proto值指定的协议的连接;proto可以是下列中的任一个:TCP、UDP、TCPv6、UDP或者UDPv6。如果使用-s选项来显示每个协议的统计数据,proto可以是以下的任意一个:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或UDPv6。
-q显示所有的连接、监听端口及绑定非监听TCP端口。绑定非监听端口可能有或者没有与一个活动连接相关联。
-r显示路由表。(笔者注:跟route print命令一样的效果。)
s显示每个协议的统计数据。默认情况下,统计数据显示如下协议:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6;-p选项可以用来指定一个上述协议的子集。(笔者注:就是用户可以通过-p选项来指定只显示哪个的意思。)
-t显示当前连接的卸载状态。(笔者注:卸载状态是指的TCP Chimney Offload,这是一种网络技术,它可以帮助在网络数据传输期间将工作负载从CPU传输到网络适配器。)
-x显示NetworkDirect连接、监听器和共享终端。
-y显示所有连接的TCP连接模板。此选项不能与其它选项组合使用。
interval每次刷新显示的统计数据之间的以秒钟为单位的间隔时长。可以按CTRL+C中止统计数据的刷新。如果这个选项被省略,netstat只显示一次当前的配置。

上表清楚地显示了所有参数的意义,上面的各大参数除了特别说明外,都可以组合使用,而且只需要偷懒只打一个杠,下面来举几个例:


1、最基本的,显示所有的网络连接和监听端口信息的netstat命令:

2、上面的命令有点慢,如果我们让它只以数字的形式显示地址和端口的话,就快多了,刷地一下就完了(注意命令netstat -na与netstat -n -a的意义是一样的):

3、想看是各路神仙都开了哪些端口的netstat命令:

对照上面中文的选项表,使用上应该不会有什么问题,下面附一个可能出现的名词对照吧:

英文名词中文名词
Proto协议
Local Address本机地址
Foreign Address远程地址
State状态
LISTENING监听中
ESTABLISHED已连接
SYN_SENT发送了连接建立请求(准备建立连接)
CLOSE_WAIT等待本地用户发连接中断请求中(这是准备关闭连接的一个步骤,意味着这个连接正在关闭)
TIME_WAIT发了ACK进入等待状态确保远端正常关闭(这是准备关闭连接的一个步骤,意味着这个连接正在关闭)
LAST_ACK等待对方回应一个ACK(这是准备关闭连接的一个步骤,意味着这个连接正在关闭)

 

对于几种状态的说明:state

1.LISTENING:(Listening for a connection.)侦听来自远方的TCP端口的连接请求

2.SYN-SENT:(Active; sent SYN. Waiting for a matching connection request after having sent a connection request.)发送连接请求后等待匹配的连接请求,既向远程主机发送连接请求

3.SYN-RECEIVED:(Sent and received SYN. Waiting for a confirming connection request acknowledgment after having both received and sent connection requests.)再收到和发送一个连接请求后等待对方对连接请求的确认,对方发送回来的确认连接信息

4.ESTABLISHED:(Connection established.)代表一个打开的连接

5.FIN-WAIT-1:(Closed; sent FIN.)等待远程TCP连接中断请求,或先前的连接中断请求的确认

6.FIN-WAIT-2:(Closed; FIN is acknowledged; awaiting FIN.)从远程TCP等待连接中断请求

7.CLOSE-WAIT:(Received FIN; waiting to receive CLOSE.)等待从本地用户发来的连接中断请求

8.CLOSING:(Closed; exchanged FIN; waiting for FIN.)等待远程TCP对连接中断的确认

9.LAST-ACK:(Received FIN and CLOSE; waiting for FIN ACK.)等待原来的发向远程TCP的连接中断请求的确认

10.TIME-WAIT:(In 2 MSL (twice the maximum segment length) quiet wait after close. )等待足够的时间以确保远程TCP接收到连接中断请求的确认

11.CLOSED:(Connection is closed.)没有任何连接状态

在命令提示符中比较常见,能够捕获到的状态通常有LISTENING、ESTABLISHED、SYN-SENT、FIN-WAIT-1、LAST-ACK、TIME-WAIT、CLOSED

netstat命令详解!(值得大家收藏!) 

netstat详解_qq_42014600的博客-CSDN博客_netstat

netstat命令详解 - 荒野游侠 - 博客园

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值