博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows下用cmd命令netstat查看系统端口使用情况
阅读量:5090 次
发布时间:2019-06-13

本文共 4540 字,大约阅读时间需要 15 分钟。

原文:

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 

经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 
假如我们需要确定谁占用了我们的9050端口 

Windows平台 

在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

查看指定端口的占用情况

C:\>netstat -aon|findstr "9050"  协议    本地地址                     外部地址               状态                   PID  TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016

P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)

查看PID对应的进程

C:\>tasklist|findstr "2016" 映像名称                       PID 会话名              会话#       内存使用 ========================= ======== ================  tor.exe                     2016 Console                 0     16,064 K

P:很清楚吧,tor占用了你的端口。

结束该进程

C:\>taskkill /f /t /im tor.exe

Netstart选项

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

 

posted on
2019-02-13 16:09 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10370360.html

你可能感兴趣的文章
JAVA编程之——反射Reflect
查看>>
leetcode-Linked List Cycle II 链表判环以及求环起始位置
查看>>
oracle表分区
查看>>
JS打开新窗口防止被浏览器阻止的方法
查看>>
整理常用的iOS第三方资源
查看>>
present一个半透明的ViewController的方法
查看>>
深入浅出JS的封装与继承
查看>>
Android studio登录界面
查看>>
Android中MediaRecorder方法录制音频
查看>>
精妙SQL语句
查看>>
Glacier Formation
查看>>
[慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
查看>>
iOS中tableView的三种刷新方法
查看>>
Java中Class类工作原理详解
查看>>
关于Windows系统防火墙
查看>>
H3C AP实现定时重启
查看>>
UIImageWriteToSavedPhotosAlbum将应用中的图片保存到用户iPhone或者iTouch的相册中
查看>>
We7中标陕西高陵县政府网站群
查看>>
Hystrix隔离策略
查看>>
easyUi的dataGrid动态改变列、列标题等
查看>>