查看某一端口占用情况:
netstat -ano | findstr “端口号”
netstat -ano | find “TIME_WAIT” /c 其他会话状态如CLOSE_TIME、ESTABLISHED等,也可以替换前面的TIME_WAIT来查看。
检查当前大概有多少个TCP连接:
netstat -an | find /C “TCP”
netstat -an | find “TIME_WAIT” /c
netstat -ano | findstr “:6100”
netstat -ano | findstr “:6100” | find /c /v “”
netstat -an | find /C “TCP”
netstat -an | find “TIME_WAIT” /c
查询活动状态:
netsh int tcp show global
其他命令
- 查看所有活动的TCP连接:
netstat -a
- 查看所有活动的TCP和UDP连接:
netstat -a -u
- 查看所有活动的TCP连接,并显示进程ID(PID):
netstat -ano
- 查看特定端口的监听状态:
netstat -an | findstr "端口号"
netstat -aon|findstr "9500"
netstat -aon|findstr ":9500" #根据 localport 来过滤 本地端口和远程端口的总和
# 统计远程端口为 6100 的 TCP 连接数量--powershell
(Get-NetTCPConnection | Where-Object { $_.RemotePort -eq 6100 }).Count
# 统计本地端口为 6100 的 TCP 连接数量--powershell
(Get-NetTCPConnection | Where-Object { $_.LocalPort -eq 6100 }).Count
将"端口号"替换为你想要检查的端口号。
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:9500 0.0.0.0:0 LISTENING 47264
TCP [::]:9500 [::]:0 LISTENING 47264
5. 查看PID对应的进程
tasklist|findstr "47264"
映像名称 PID 会话名 会话# 内存使用
========================= ========================
WIP.WebApi.exe 47264 Console 1 341,996 K
P:很清楚吧,tor占用了你的端口。
- 查看路由表:
route print
- 查看DNS缓存:
ipconfig /displaydns
- 查看网卡信息:
ipconfig /all
Window中TCP连接耗尽解决办法
Windows 服务器中,如果对外发起大量连接时,可能会出现端口耗尽的情况,原因如下:
一、动态端口较少。
二、TCP默认的Time Wait Delay时间为2分钟。
查看端口是否耗尽
netsh interface ipv4 show tcpstats //TCP 统计信息
netsh int ipv4 show dynamicport tcp //协议 tcp 动态端口范围
增加动态端口数
# start是起始端口号,num为数量,该命令意思为从1025开始到61025结束,共60000个端口
netsh int ipv4 set dynamicport tcp start=1025 num=60000
修改注册表,设置Time Wait时间(最小为30s),然后重启服务器
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters
新增值 TcpTimedWaitDelay,类型REG_DWORD , 设置为十进制30
netstat [选项]
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-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命令的列标题
Name 接口的名字
Mtu 接口的最大传输单位
Net/Dest 接口所在的网络
Address 接口的IP地址
Ipkts 接收到的数据包数目
Ierrs 接收到时已损坏的数据包数目
Opkts 发送的数据包数目
Oeers 发送时已损坏的数据包数目
Collisions 由这个接口所记录的网络冲突数目
netstat的一些常用选项:
netstat -s–本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat -e–本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。
netstat -r–本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。
netstat -a–本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
bnetstat -n–显示所有已建立的有效连接。
« AWKPHP经典 »netstat -an中state含义
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部分解释
State
The state of thesocket. Since there are no states in raw mode and usually no states used inUDP, this column may be left
blank. Normally thiscan be one of several values:
ESTABLISHED
The socket has anestablished connection.
SYN_SENT
The socket isactively attempting to establish a connection.
SYN_RECV
A connection requesthas been received from the network.
FIN_WAIT1
The socket is closed,and the connection is shutting down.
FIN_WAIT2
Connection is closed,and the socket is waiting for a shutdown from the remote end.
TIME_WAIT
The socket is waitingafter close to handle packets still in the network.
CLOSED The socket isnot being used.
CLOSE_WAIT
The remote end hasshut down, waiting for the socket to close.
LAST_ACK
The remote end hasshut down, and the socket is closed. Waiting for acknowledgement.
LISTEN The socket islistening for incoming connections. Such sockets are not included in the outputunless you specify
the –listening (-l)or –all (-a) option.
CLOSING
Both sockets are shutdown but we still don’t have all our data sent.
UNKNOWN
The state of thesocket is unknown