windows下用cmd命令netstat查看系统端口使用情况

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

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

假如我们需要确定谁占用了我们的9050端口

1、Windows平台
在windows命令行窗口下执行:
1.查看所有的端口占用情况

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"

协议    本地地址                     外部地址            
  状态                  
PID

TCP   
127.0.0.1:9050        
0.0.0.0:0             
LISTENING       2016

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

3.查看PID对应的进程
C:\>tasklist|findstr "2016"

映像名称                       PID 会话名             
会话#       内存使用
 ========================= ========
================
  tor.exe                     2016 Console                 0     16,064 K

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

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

时间: 2024-08-08 19:32:33

windows下用cmd命令netstat查看系统端口使用情况的相关文章

Windows下的cmd命令行中设置环境编码

我们都知道,Windows下的cmd命令行默认编码是Windows系统的编码,就是ANSI编码或者说是GBK编码的,这样我们编写的很多应用比如php编写utf-8编码的应用在命令行下面运行时都会出现乱码的情况,原因就是因为运行环境的编码使用自己的编码去解析程序运行结果,而程序本身返回编码和解析编码不一致,最后导致乱码情况的发生. 遇到这种情况,我们可以通过设置cmd命令行环境的编码使编码保持统一来解决,方法如下: 在命令行中,有个命令是chcp,这个命令是用来显示当前活动代码页编号的,也可以理解

java学习总结(16.05.08)在windows下使用cmd命令行对java文件进行编译和执行

windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量(jdk安装与环境变量的配置方法:http://blog.csdn.net/qq_32099621/article/details/51339868) 下面来说一下windows下如何使用cmd命令行来编译执行java文件 首先找到需要编译和执行的java文件 这里我要编译和执行这个java文件 按组合键win+r调出"运行",

在windows下使用cmd命令全速下载百度云文件

在windows下使用cmd命令全速下载百度云文件 需要的工具BaiduPCS-GO(链接:https://pan.baidu.com/s/19Sn8gmNi_GZHJwUPu79DPg 密码:gqib)(windows平台就不用说了吧!) 1.先把BaiduPCS-GO加入换将变量(我的BaiduPCS-GO存放在“D:\Program Files (x86)\BaiduPCS-GO”文件夹下) 2.测试BaiduPCS-GO环境是否已经配置好 (Win+R调出cmd,输入BaiduPCS-G

Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤

Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用. 有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行.yii2.0是支持php命令行运行的,操作方法如下: 在yii根目录下面有个"yii"文件(不是"yii.bat"),这个文件就是入口.然后"commands"目录下会默认有个"HelloController.ph

Windows下用cmd命令安装及卸载服务[转]

第一种方法: 1. 开始 ->运行 ->cmd2. cd到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(Framework版本号按IIS配置)3. 安装服务: 运行命令行 InstallUtil.exe E:/test.exe    卸载服务: 运行命令行 InstallUtil.exe -u E:/test.exe 这样就能删除了,但如果還是不能删除的话,沒关系下面還有一种方法. 第二种方法: 运行-->cmd-->到c:\windo

Windows下通过CMD命令行程序操作MySQL数据库

注意:如果您的MySQL没有安装在C盘下,先使用命令进入MySQL的安装目录下的bin目录中才可以进行后续操作. 方法如下:例如您安装在D盘.先输入 D:  回车即可进入D盘,再输入cd D:\您mysql的安装目录\bin  回车进入到MySQL的bin目录下,即可进行后续操作. 输入 mysql -h localhost -u root -p 回车即可进入mysql数据库 "-h"表示服务器名,localhost是本地地址:"-u"为数据库用户名,root是My

Windows下也可以使用osw追朔系统历史性能

1.Windows系统历史性能分析困难背景 在Linux/Unix上,要追朔历史性能,一般采用部署nmon进行性能监控采集与存储的方式实现,但是却没有在Windows上的版本. Windows系统如果要分析历史性能,一直是个老大难. 其实,ORACLE有一个监控工具叫OSWatcher的工具,不仅可以在Linux/Unix上使用,还可以在Windows上使用,叫OS Watcher For Windows (OSWFW),解决了Windows系统上历史性能不可查的问题. 2.OSWFW支持的Wi

惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

http://www.tuicool.com/articles/2MramqI 时间 2014-07-29 09:28:36  点滴之间 聚沙成金 原文  http://www.path8.net/tn/archives/6021 主题 CygwinLinux命令 本文内容遵从 CC版权协议 , 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://oldratlee.com/post/2012-12-22/stunning-cygwin N年前倒腾过一次 

linux 下查看系统内存使用情况的方法

在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在linux系统如何查看内存使用情况呢?下面和大家分享在Linux 下查看内存使用情况的free命令: [[email protected] tmp]# free total used free shared buffers cached Mem: 3266180 3250004 16176 0 110652 2668236 -/+ buffers/cache: 471116 2795064 Swap: 2048276