如何使用CLI在Linux中检查打开的端口
时间:2020-01-09 14:16:55 来源:igfitidea点击:
如何列出Linux云服务器中所有打开的端口。
如何使用CLI检查Linux中的开放端口?
可以给我命令检查Linux操作系统中打开的端口吗?
为了排除服务器故障并避免安全问题,需要找出开放的TCP和UDP端口。
在本教程中,您将学习不同的Linux命令,以检查Linux中打开的端口以审计和保护服务器。
什么是TCP和UDP端口?
端口不过是0到65535之间的16位数字。
例如,TCP端口号22可能会转发到OpenSSH服务器。
因此,22端口号是识别sshd(OpenSSH服务器)进程的一种方法。
端口号
- 众所周知的端口是从" 0"到" 1023"的端口。
- 注册的端口是从" 1024"到" 49151"的端口。
- 动态端口和专用端口是从" 49152"到" 65535"的端口。
注册端口是由互联网号码分配机构(IANA)分配并存储在/etc/services
文件中的网络端口。
使用cat命令或grep命令/egrep命令查看端口号和服务映射:
cat /etc/services grep -w '80/tcp' /etc/services grep -w '443/tcp' /etc/services egrep -w '22/(tcp|udp)' /etc/services
显示IANA分配的应用程序及其端口的列表
检查Linux中打开的端口
在Linux中监视和显示打开的端口的过程如下:
- 打开Linux终端应用程序
- 使用
ss
命令显示Linux中所有打开的TCP和UDP端口。 - 另一个选择是使用
netstat
命令列出Linux中的所有端口。 - 除了
ss
/netstat
外,还可以使用`lsof'命令列出基于Linux的系统上打开的文件和端口。 - 最后,也可以使用" nmap"命令来检查TCP和UDP端口。
让我们详细查看所有命令和示例。
使用netstat列出打开的端口
执行以下netstat命令
sudo netstat -tulpn | grep LISTEN
例如,cupsd进程打开的TCP端口631和cupsd仅在环回地址(127.0.0.1)上列出。
同样,通过sshd进程打开的TCP端口22和sshd在ssh连接的所有IP地址上列出:
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 0 43385 1821/cupsd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 44064 1823/sshd
其中:
- -t:所有TCP端口
- -u:所有UDP端口
- -l:显示监听服务器套接字
- -p:显示每个套接字所属的程序的PID和名称
-n
:不解析名字| grep LISTEN
:仅通过应用grep命令过滤器显示打开的端口。
使用ss列出打开的端口
ss命令用于转储套接字统计信息。
它允许显示类似于netstat的信息。
它可以显示比其他工具更多的TCP和状态信息。
语法为:
sudo ss -tulpn
使用lsof命令侦听端口和应用程序
让我们运行以下命令,使用lsof命令检查打开的TCP和UDP端口:
sudo lsof -i -P -n | grep LISTEN
其中:
-i
:寻找列表端口- -P:禁止将网络文件的端口号转换为端口名。禁止转换可能会使lsof运行更快。当端口名称查找无法正常工作时,它也很有用。
-n
:不使用DNS名称| grep LISTEN
:再次仅使用grep命令作为过滤器显示处于LISTEN状态的端口。
nmap命令
此外,对于上述命令,可以使用nmap命令,该命令是用于网络探索和安全审核的开源工具。
我们将使用nmap在Linux中查找并列出打开的端口:
$ sudo nmap -sT -O localhost $ sudo nmap -sU -O 192.168.2.254 ##[ list open UDP ports ]## $ sudo nmap -sT -O 127.0.0.1 ##[ list open TCP ports ]## $ sudo nmap -sTU -O 192.168.2.24
输出示例:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-07-22 23:49 IST Nmap scan report for localhost (127.0.0.1) PORT STATE SERVICE 22/tcp open ssh 631/tcp open ipp Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6.32 OS details: Linux 2.6.32 Network Distance: 0 hops OS detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 2.31 seconds