Windows netstat命令详解,Windows查看网络连接

CSDN 2024-08-01 16:37:01 阅读 77

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。

在这里插入图片描述

netstat 常用来查看监听端口和网络连接的情况。

参数

-a:显示所有连接-b:显示可执行程序-n:显示IP地址和端口号(默认显示主机名和协议名)-o:显示进程PID-p:指定协议(TCP、UDP、IP、IPv6、ICMP、ICMPv6、TCPv6 或 UDPv6)-t:显示连接的卸载状态-q:显示所有连接,监听端口不一定与连接相关-r:显示核心路由表-f:显示外部地址的完整域名-e:以太网统计,配合-s-s:每个协议的统计-x:活动 NetworkDirect 连接、侦听器和共享端点-y:显示所有连接的 TCP 连接模板

netstat

1、字段含义2、状态类型2.1、TCP建立连接的5种状态2.2、TCP关闭连接的6种状态2.3、故障排查3种状态

3、常用参数和过滤4、定时刷新5、查看丢包

1、字段含义

netstat -bo 显示完整的字段,

在这里插入图片描述

字段解释:

协议(Proto):TCP或UDP协议。本地地址(local Address):本机使用的IP地址和端口号外部地址(foreign Address):连接到远程IP地址和端口状态(State):TCP连接状态PID(-o参数):进程ID可执行程序(-b参数):发起TCP连接的进程。一个进程可以打开多个端口,一个端口只能对应一个程序。

2、状态类型

状态一栏对应着TCP连接状态。因为UDP是无状态协议,不建立连接,所以状态这一栏总是空的。

2.1、TCP建立连接的5种状态

CLOSED:关闭状态,TCP连接的初始状态。LISTEN:监听状态,服务端监听客户端的TCP连接请求。SYN-SENT:主动建立连接状态,「第一次握手」客户端发送建立连接请求后,等待服务端的响应。SYN-RCVD:等待连接状态,「第二次握手」服务端接受连接请求后,等待客户端确认。ESTABLISHED:数据传输状态,「第三次握手」TCP连接建立成功。

TCP三次握手与连接状态的对应关系。

在这里插入图片描述

2.2、TCP关闭连接的6种状态

ESTABLISHED:数据传输状态。FIN-WAIT-1:主动关闭状态,「第一次挥手」客户端主动发送关闭连接的请求,等待服务器确认。CLOSE-WAIT:等待关闭状态,「第二次挥手」服务端收到关闭连接请求后,等待本地用户关闭连接。FIN-WAIT-2:等待关闭状态,等待服务端发送关闭连接的请求。LAST-ACK:等待关闭状态,「第三次挥手」服务端发送关闭连接的请求后,等待客户端确认。TIME-WAIT:确认关闭状态,「第四次挥手」客户端确认关闭连接后,等待一段时间后自动关闭连接,目的是保证所有数据包都被对方接收。CLOSED:关闭状态,TCP连接断开,回到初始状态。

TCP四次挥手与连接状态的对应关系。

在这里插入图片描述

2.3、故障排查3种状态

LISTEN是监听状态,当遇到故障时,可以观察服务对应的端口有没有被监听,定位到具体的服务进程,缩小排查范围。

SYN-RCVD是中间状态,正常情况下很少见到,如果发现大量SYN-RCVD,则很有可能是遇到了SYN Flood攻击。

ESTABLISHED是数据传输状态,排查外联情况时,可以把ESTABLISHED状态的外部地址,放到威胁情报平台,如果IP报了恶意,就根据PID找到进程,做进一步排查。

3、常用参数和过滤

平时用的最多的参数是 netstat -ano,以数字形式显示所有连接

在这里插入图片描述

netstat -ano | findstr ESTABLISHED 根据状态过滤

netstat -ano | findstr 20.198.162.76 或者根据IP地址过滤

4、定时刷新

参数后面加上数字,可以间隔刷新。

比如 5秒刷新一次,就会每5秒重新打印一次最新的网络情况,Ctrl + c 停止命令

在这里插入图片描述

常配合其他参数使用,比如 netstat -ano 5

5、查看丢包

netstat -e 查看接口收发包情况,检查是否丢包。

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。