如何查看端口被是不是被占用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看端口被是不是被占用相关的知识,希望对你有一定的参考价值。

如何查看端口被是否被占用,具体操作时什么样的?

关于如何查看端口是否被占用,可以根据以下步骤来操作:

1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;

2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。

3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。

4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe

5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:

6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。

7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。

8、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。

参考技术A 在搭建web平台的时候,好多会遇到某个端口被占用的情况,如果想查看是哪个程序占用某一个端口,好结束掉,或者想看看其他开放的端口,则可以用下面的方法(命令用红色字体):

查看端口状态:
在开始——运行中输入cmd,在命令行窗口输入 netstat -an ;看到后面为Listening的端口就是开放的端口,如果要查看跟多信息,可以输入 netstat --help;查看帮助。
查看某一个端口被哪个程序占用:
方法一:
1.在开始--运行 里面输入cmd点回车,会出现运行窗口。
2.在提示符后输入netstat -ano回车,找到tcp 80端口对应的pid,比如1484.
3.ctrl+alt+del打开任务管理器,选进程,这里有很多正在运行的程序怎么找?别急点上面的 查看--选择列--在PID(进程标示符)前面打钩。好了,下面的进程前面都有了PID号码。这时上一步找到的PID就有用了,找到1484,比如PEER.EXE什么的,结束进程吧。这时再开服务器,看WEB可以启动了!
方法二:
在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
如果需要查看其他端口。把 80 改掉即可。
参考技术B 利用命令查看端口及对应程序

利用 netstat 命令查看本机开放端口 netstat 是 windows 自带命令,用于查看系统开放的端口,主要参数只有 -a 和 -n ,前者表示显示所有连接和侦听端口,而后者表示以数字格式显示地址和端口号。

  在 “ 命令提示符 ” 中输入 “ netstat -an ”, 即可显示本机所有开放端口。

其中 active connections 是指当前本机活动连接,

proto  是指连接使用的协议名称

local address  是本地计算机 IP 地址和连接正在使用的端口号

foreign address  是指连接此端口的远程计算机的 IP 地址与端口号

state   则表示 TCP 连接状态

注意如果后面的 UDP 协议有异常连接,则可能有木马正使用端口号,正处于监听状态,如冰河木马的默认监听端口号是 7626

利用 netstat 命令查找打开可疑端口的恶意程序

  先用命令提示符 " netstat -ano " 命令显示端口状态,再在结果中找到可疑端口,然后根据其 PID 在输入 “ tasklist ” 命令显示中查找其对应程序,就可知道其程序名,进而查明程序的来源,采取适当的措施。

直接查看端口与程序 ( 以上两个命令的结合效果 )

  在命令提示符后输入 “ netstat -anb ” 回车,即可显示所有端口及所对应的进程信息,用来查找木马非常方便

用第三方端口查看工具 FPORT

fport 是 foundstone 出品的一个用来查看系统所有打开 TCP/IP 和 UDP 端口,及它们对应程序的完整路径, PID 标识,进程名称等信息的小工具
参考技术C 在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it

Linux如何查询哪些端口被占用

参考技术A

前言

如何确定端口是否在Linux或类unix系统下占用?怎么检查哪些端口正在Linux服务器上被占用?Linux系统如何使用命令行检查端口是否已经在占用?

查询哪些端口正在服务器的网络接口上被占用是非常重要的工作。您需要查询打开端口以检测入侵。除了入侵之外,出于故障排除的目的,可能有必要检查服务器上的其他应用程序是否已经使用了某个端口。例如,您可以在同一系统上安装Apache和Nginx服务器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤。

如何查询端口是否在使用中:
检查Linux上被占用的端口和应用程序:

Step1: 打开终端

Step2: 执行以下任意一条命令查看被占用的端口

查看端口22是否被占用:

较新版本的Linux使用以下查询命令:

方法1: 使用lsof命令查询占用端口
先安装lsof命令
RHEL/CentOS系统:

Debian/Ubuntu系统安装lsof命令

使用语法如下

OpenBSD

看到类似这样的输出结果:

sshd是进程名字
TCP 22表示sshd进程占用了TCP 22端口,正在监听中(LISTEN)
1243表示sshd进程号

方法二:使用netstat查询被占用的端口号

较新的Linux发行版已经不再默认集成netstat命令,而是使用新命令ss取代了。
如果要使用netstat命令,需要手动安装net-tools套件:
RHEL/CentOS系统安装net-tools套件,执行以下命令:

Debian/Ubuntu系统执行以下命令:

您可以使用netstat查询被占用的端口和应用程序,如下所示。
执行以下命令查询:

在Linux上,netstat命令已经废弃了一段时间。因此,你需要使用ss命令如下:

或者:

其中ss命令选项如下:
-t : 只显示Linux上的TCP套接字
-u : 在Linux上只显示UDP套接字
-l : 监听套接字。例如,TCP端口22由SSHD服务器打开。
-p : 列出打开套接字的进程名
-n : 不要解析服务名称,即不要使用DNS

FreeBSD/MacOS X netstat 语法
FreeBSD/MacOS X查询被占用的端口

或者

OpenBSD netstat 语法
OpenBSD查询被占用的端口

或者

方法三:使用`nmap`命令查询Linux被占用的端口

默认情况下,Linux发行版并没有默认安装nmap命令,
CentOS系统安装nmap

Ubuntu系统安装nmap

使用nmap查询本机被占用的端口

查询Linux系统被占用的UDP端口

查询Linux系统被占用的TCP端口

你可以同时查询被占用的TCP和UDP端口

结论:

本教程解释了如何在Linux系统上使用命令行查询TCP或者UDP端口是否被占用。有关更多信息,请参见nmap命令和lsof命令页面

以上是关于如何查看端口被是不是被占用的主要内容,如果未能解决你的问题,请参考以下文章

Linux查看端口是不是被占用的命令是啥?

windows怎么查看端口是不是被占用

如何通过shell判某端口是不是被占用

linux下怎么查看端口是不是被占用

怎么查看端口号被占用

linux怎么查看端口号是不是被占用