这个需要Linux服务器里边支持nc命令,如果还没有装的情况会显示如下
我们可以使用yum命令直接安装,我的是Centos 65系统
如果不会用,直接打nc命令就会显示出它的使用方发。
如果需要测试某个服务器的端口在能不能正常在外面 访问
例如我测试一下 1809733107 这个IP 的80 端口有没有开启可以使用命令nc -z -w 1 1809733107 80
可以看到默认是使用TCP进行测试的,如果要测试UDP端口有没有开放的可以添加-u 一起使用。例如我测试一下2029612886 这个IP的UDP 53端口nc -u -z -w 1 2029612886 53
上面可以看到成功的会显示相关的信息,但是如果测试到端口是不开放的或者被防火墙拦截的就不会返回相关的信息。你好,方法如下:
测试udp 服务的端口是否可用 d 服务上,就会报错, 因为telnet 走的是tcp 协议, 比如说19216880131 在8888 端口上上启了个udp 的服务,这是使用telnet 19216880131 8888,就会报如下错误:Trying 19216880131 telnet: connect to address 192 16880131: Connection refused 此时, 可以使用nc 这个工具, 大多数的发行版都自带这个工具, fedora 9 的/usr/bin/nc 所属的安装包是 nc-184-16fc9i386nc -l -u 19216880129 8001 使用命令nc -u 19216880129 8001, 在这里输入字符串, 服务端就会回显相同的字符串,表示8001 端口上的udp 服务是否启用suse 上的是用netcat, 方法基本上差不多:netcat -l -u -p 8001 这样就可以在0000 上侦听udp 的8001 端口从另外一台机器,或者打开本机的另外一个虚拟终端, 输入:netcat -u 1921681123 8001 在这里输入字符串, 就会回显一个相同的字符串,表示链接是OK 的
前言
如何确定端口是否在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命令页面
可以通过netstat命令进行简单查询
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速 *** 作)
3
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)