场景一:了解系统开放的端口,和正在使用的端口,在各类情况下就会有所帮助。

例如:假如你的服务器正在运行着Nginx,这么其端口应当为80或则443,可以检测一下。再例如你可以检测一下SMTP、SSH或则其他服务用的是那个端口。当有新的服务须要开放端口的时侯,你须要晓得目前早已被占用的,都有什么端口。

据悉,可以检测一下是否有开放的可用于入侵测量的端口。

Linux中有多种检测端口的方式,本文将介绍两种。

使用lsof检测当前系统开放的端口

不管你是直接登陆的系统,还是使用ssh联接的,都可以使用lsof命令来检测端口:

sudo lsof -i -P -n

命令用于查找用户使用的文件和进程。上述命令中的选项,包括:

然而,这也会展示许多计算机并没有窃听的其他端口。

我们可以通过管线将此输出传输到grep,并匹配模式“LISTEN”,如下所示:

sudo lsof -i -P -n | grep LISTEN

这样就只显示计算机正在窃听的,以及正在运行的服务器所占用的端口。

使用netcat命令检测远程服务器上的端口

nc(Netcat)是一个命令行实用程序,使用TCP和UDP合同在网路计算机之间读取和写入数据。

以下是nc命令的句型:

打开端口linux_linux开放端口命令_linux设置端口开放

nc [options] host port

这个工具有一个很实用的-z选项linux是什么系统,它会让nc命令扫描正在窃听的守护进程,而且不会向端口发送任何数据。

将其与-v选项结合,启动详尽信息,会有详尽信息的输出。

#如下是使用nc命令扫描开放的端口:

nc-z-v1-655352>&1|grep-v'Connectionrefused'

#将里面的替换为你要检测的Linux系统的IP地址。

#至于为何我会选择1到65535,那是由于端口的范围是**1到65535**。

#最后,通过管线将输出传到greplinux开放端口命令,使用-v选项可以排除“拒绝联接(Connectionrefused)”的端口。

#这样才会扫描到计算机上所有开放的端口,这种端口可以被网路上的其他机器访问。

#以上命令没有测试读者可自行测试。,

losf与nc的不同点:

lsof比nc速率要快;

并且使用lsof须要先登入到系统中永久免费linux服务器,而且具有sudo访问权限;

假如你扫描的是你早已登陆到的系统linux开放端口命令,可以优先选择lsof;

打开端口linux_linux设置端口开放_linux开放端口命令

nc命令可以很灵活地扫描端口,而不须要登入。

lsof命令简介

lsof命令用于显示Linux系统当前已打开的所有文件列表。查看进程或系统打开的文件会给调试带来极大的帮助。下边简单地介绍lsof常使用的功能。

lsof(listopenfiles)命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP),还可以用于寻回/恢复被删掉的文件。lsof命令须要访问核心显存和各类文件,所以须要具备root超级管理员权限的用户能够执行此命令。

句型格式

lsof [Options] 

选项说明

打开端口linux_linux开放端口命令_linux设置端口开放

-a         #显示打开文件的进程
-c  #显示指定进程所打开的文件
-g         #显示GID号进程详情
-d  #显示占用该文件号的进程
+d   #显示目录下被打开的文件
+D   #递归列出目录下被打开的文件
-n   #显示使用NFS的文件
-l        #在输出显示用户ID而不是用户名
-i   #输出符合条件的进程
-p #输出指定进程号所打开的文件
-u   #显示指定UID号进程详情
-h   #显示帮助信息
-t   #仅获取进程ID
-U   #获取UNIX套接口地址
-F   #格式化输出结果
-v   #显示版本信息

nc命令简介

linux的nc命令,NetCat,在网路工具中有“瑞士军刀”美誉“,是解决这个问题的工具。nc命令安装:yuminstallnc

句型格式

nc [-hlnruz][-g][-G][-i][-o][-p][-s][-v...][-w][主机名称][通信端口...]

选项说明

 -g 设置路由器跃程通信网关,最丢哦可设置8个。
 -G 设置来源路由指向器,其数值为4的倍数。
 -h 在线帮助。
 -i 设置时间间隔,以便传送信息及扫描通信端口。
 -l 使用监听模式,管控传入的资料。
 -n 直接使用IP地址,而不通过域名服务器。
 -o 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
 -p 设置本地主机使用的通信端口。
 -r 乱数指定本地与远端主机的通信端口。
 -s 设置本地主机送出数据包的IP地址。
 -u 使用UDP传输协议。
 -v 显示指令执行过程。
 -w 设置等待连线的时间。
 -z 使用0输入/输出模式,只在扫描通信端口时使用。

以上是看来一些文章的总结分享内容,欢迎补充讨论。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复