查看本机程序网络通信情况

Windows上查看本机程序网络通信情况

Windows 命令: netstat -ano
netstat 是用于显示套接字内容的命令


什么是套接字
应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议提供了称为套接字(Socket)的接口,区分不同应用程序进程间的网络通信和连接。


a 显示所有套接字,不仅是正在通信的、还包括尚未开始通信等状态
n 显示IP地址和端口号
o 显示使用该套接字的程序PID
在这里插入图片描述
PID — 进程标识符
① 可从任务管理器 –》详细信息 找到该PID对应的应用程序信息
② cmd中输入命令 tasklist | findstr pid 也可获得对应应用程序信息

外部地址(Foreign Address):通信对象(远程端)的IP地址和端口号
0.0.0.0 表示还没有开始通信,没有绑定IP地址和端口号
UDP协议中的套接字不绑定对方的地址和端口,因此会显示 *.*

本地地址 (Local Address):
显示本地IP和端口号,安装了多块网卡,因此会显示出多个IP地址。0.0.0.0表示不绑定IP地址。

通信状态(state):
LISTENING :等待对方连接状态
ESTABLISHED :完成连接并正在进行数据通信的状态表
SYN_SENT: 客户端发起连接,发送SYN给服务器端。如果服务器端不能连接,则直接进入CLOSED状态
在这里插入图片描述
SYN_RCVD: 服务器端接受客户端的SYN请求,服务器端由LISTEN状态进入SYN_RCVD状态。同时服务端回应一个ACK,发送一个SYN给客户端;客户端在发起SYN的同时接收到服务器端的SYN,客户端就会由SYN_SENT到SYN_RCVD状态。
FIN_WAIT_1:主动关闭的一方。具体动作是发送FIN给对方。
FIN_WAIT_2:主动关闭的一方,接收到对方的FIN-ACK,进入此状态。
CLOSE_WAIT:接收到FIN以后,被动关闭的一方进入此状态。具体动作是接收的FIN,同时发送ACK。
在这里插入图片描述

LAST_ACK:被动关闭的一方,发起关闭请求。具体动作是发送FIN给对方,同时接收到ACK时进入CLOSED状态。
CLOSING:两边同时发起关闭请求时,会有FIN_WAIT_1进入此状态。具体动作是接收到FIN请求,同时响应一个ACK。

TIME_WAIT状态由3个状态转化:

  1. FIN_WAIT_2进入此状态:在双方不同时发起FIN的情况下,主动关闭的一方在完成自身发起的关闭请求后,接收到被动关闭一方的FIN后进入的状态。
  2. CLOSING状态进入:双方同时发起关闭,都做了发起FIN的请求,同时接收到了FIN并做了ACK的情况下,由CLOSING状态进入。
  3. FIN_WAIT_1状态进入:同时接收到FIN、ACK,与2的区别在于本身发起的FIN回应的ACK先于对方的FIN请求到达。这种情况概率最小。
    在这里插入图片描述在这里插入图片描述
    T_2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值