开始--运行--cmd 进入命令提示符 输入netstat -ano 便可看到全部链接的PID 以后在任务管理器中找到这个PID所对应的程序若是任务管理器中没有PID这一项,能够在任务管理器中选"查看"-"选择列"
常常,咱们在启动应用的时候发现系统须要的端口被别的程序占用,如何知道谁占有了咱们须要的端口,不少人都比较头疼,下面就介绍一种很是简单的方法,但愿对你们有用
假如咱们须要肯定谁占用了咱们的9050端口
一、Windows平台
在windows命令行窗口下执行:
1.查看全部的端口占用状况windows
C:\>netstat -ano浏览器
协议 本地地址 外部地址 状态 PID服务器
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732网络
2.查看指定端口的占用状况
C:\>netstat -aon|findstr "9050"less
协议 本地地址 外部地址 状态 PIDsocket
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016this
P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也能够去任务管理器中查看pid对应的进程)命令行
3.查看PID对应的进程
C:\>tasklist|findstr "2016"调试
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor占用了你的端口。orm
4.结束该进程
C:\>taskkill /f /t /im tor.exe
其余不懂的用 help吧~
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--本选项能够显示关于路由表的信息,相似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的链接。
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 the socket. Since there are no states in raw mode and usually no states used in UDP, this column may be left
blank. Normally this can be one of several values:
ESTABLISHED
The socket has an established connection.
SYN_SENT
The socket is actively attempting to establish a connection.
SYN_RECV
A connection request has 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 waiting after close to handle packets still in the network.
CLOSED The socket is not being used.
CLOSE_WAIT
The remote end has shut down, waiting for the socket to close.
LAST_ACK
The remote end has shut down, and the socket is closed. Waiting for acknowledgement.
LISTEN The socket is listening for incoming connections. Such sockets are not included in the output unless you specify
the –listening (-l) or –all (-a) option.
CLOSING
Both sockets are shut down but we still don’t have all our data sent.
UNKNOWN
The state of the socket is unknown