最近,我们就同一主题写了两篇文章。这些文章内容帮助你如何检查远程服务器中给定的端口是否打开。
如果你想 检查远程 Linux 系统上的端口是否打开 请点击链接浏览。如果你想 检查多个远程 Linux 系统上的端口是否打开 请点击链接浏览。如果你想 检查多个远程 Linux 系统上的多个端口状态 请点击链接浏览。
但是本文帮助你检查本地系统上的开放端口列表。
在 Linux 中很少有用于此目的的实用程序。然而,我提供了四个最重要的 Linux 命令来检查这一点。
你可以使用以下四个命令来完成这个工作。这些命令是非常出名的并被 Linux 管理员广泛使用。
netstat
:netstat (“network statistics”) 是一个显示网络连接(进和出)相关信息命令行工具,例如:路由表, 伪装连接,多点传送成员和网络端口。
nmap
:Nmap (“Network Mapper”) 是一个网络探索与安全审计的开源工具。它旨在快速扫描大型网络。
ss
: ss 被用于转储套接字统计信息。它也可以类似 netstat 使用。相比其他工具它可以展示更多的TCP状态信息。
lsof
: lsof 是 List Open File 的缩写. 它用于输出被某个进程打开的所有文件。
如何使用 Linux 命令 netstat 检查系统中的开放端口列表 netstat
是 Network Statistics 的缩写,是一个显示网络连接(进和出)相关信息命令行工具,例如:路由表、伪装连接、多播成员和网络端口。
它可以列出所有的 tcp、udp 连接和所有的 unix 套接字连接。
它用于发现发现网络问题,确定网络连接数量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 # netstat -tplugn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0 .0 :25 0.0.0.0 :* LISTEN 2038 /master tcp 0 0 127.0.0 .1 :199 0.0.0.0 :* LISTEN 1396 /snmpd tcp 0 0 0.0.0 .0 :80 0.0.0.0 :* LISTEN 1398 /httpd tcp 0 0 0.0.0 .0 :22 0.0.0.0 :* LISTEN 1388 /sshd tcp6 0 0 :::25 :::* LISTEN 2038 /master tcp6 0 0 :::22 :::* LISTEN 1388 /sshd udp 0 0 0.0.0 .0:39136 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:56130 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:40105 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:11584 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:30105 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:50656 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0 :1632 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:28265 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0:40764 0.0.0.0 :* 1396 /snmpd udp 0 0 10.90.56 .21 :123 0.0.0.0 :* 895 /ntpd udp 0 0 127.0.0 .1 :123 0.0.0.0 :* 895 /ntpd udp 0 0 0.0.0 .0 :123 0.0.0.0 :* 895 /ntpd udp 0 0 0.0.0 .0:53390 0.0.0.0 :* 1396 /snmpd udp 0 0 0.0.0 .0 :161 0.0.0.0 :* 1396 /snmpd udp6 0 0 :::123 :::* 895 /ntpd IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 224.0.0.1 eth0 1 224.0.0.1 lo 1 ff02::1 lo 1 ff01::1 eth0 1 ff02::1 eth0 1 ff01::1
你也可以使用下面的命令检查特定的端口。
1 2 3 4 tcp 0 0 0.0.0.0:22 0.0.0.0 :* LISTEN 1388 /sshdtcp6 0 0 :::22 :::* LISTEN 1388 /sshd
如何使用 Linux 命令 ss 检查系统中的开放端口列表? ss
被用于转储套接字统计信息。它也可以显示类似 netstat
的信息。相比其他工具它可以展示更多的 TCP 状态信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Portudp UNCONN 0 0 *:39136 *:*udp UNCONN 0 0 *:56130 *:*udp UNCONN 0 0 *:40105 *:*udp UNCONN 0 0 *:11584 *:*udp UNCONN 0 0 *:30105 *:*udp UNCONN 0 0 *:50656 *:*udp UNCONN 0 0 *:1632 *:*udp UNCONN 0 0 *:28265 *:*udp UNCONN 0 0 *:40764 *:*udp UNCONN 0 0 10.90.56.21:123 *:*udp UNCONN 0 0 127.0.0.1:123 *:*udp UNCONN 0 0 *:123 *:*udp UNCONN 0 0 *:53390 *:*udp UNCONN 0 0 *:161 *:*udp UNCONN 0 0 :::123 :::*tcp LISTEN 0 100 *:25 *:*tcp LISTEN 0 128 127.0.0.1:199 *:*tcp LISTEN 0 128 *:80 *:*tcp LISTEN 0 128 *:22 *:*tcp LISTEN 0 100 :::25 :::*tcp LISTEN 0 128 :::22 :::*
你也可以使用下面的命令检查特定的端口。
1 2 3 4 tcp LISTEN 0 100 *:25 *:*tcp LISTEN 0 100 :::25 :::*
如何使用 Linux 命令 nmap 检查系统中的开放端口列表? Nmap (“Network Mapper”) 是一个网络探索与安全审计的开源工具。它旨在快速扫描大型网络,当然它也可以工作在独立主机上。
Nmap 使用裸 IP 数据包以一种新颖的方式来确定网络上有哪些主机可用,这些主机提供什么服务(应用程序名称和版本),它们运行什么操作系统(版本),使用什么类型的数据包过滤器/防火墙,以及许多其他特征。
虽然 Nmap 通常用于安全审计,但许多系统和网络管理员发现它对于日常工作也非常有用,例如网络资产清点、管理服务升级计划以及监控主机或服务正常运行时间。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Starting Nmap 6 .40 ( http://nmap.org ) at 2019 -03 -20 09 :57 CDTNmap scan report for localhost (127.0.0.1 )Host is up (0 .00028 s latency).Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 1994 closed portsPORT STATE SERVICE22 /tcp open ssh25 /tcp open smtp80 /tcp open http199 /tcp open smux123 /udp open ntp161 /udp open snmpDevice type: general purposeRunning : Linux 3 .XOS CPE: cpe:/o:linux:linux_kernel:3 OS details: Linux 3 .7 - 3 .9 Network Distance: 0 hopsOS detection performed. Please report any incorrect results at http://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 1 .93 seconds
你也可以使用下面的命令检查特定的端口。
1 2 3 # nmap -sTU -O localhost | grep 123 123 /udp open ntp
如何使用 Linux 命令 lsof 检查系统中的开放端口列表? 它向你显示系统上打开的文件列表以及打开它们的进程。还会向你显示与文件相关的其他信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEntpd 895 ntp 16 u IPv4 18481 0 t0 UDP *:ntpntpd 895 ntp 17 u IPv6 18482 0 t0 UDP *:ntpntpd 895 ntp 18 u IPv4 18487 0 t0 UDP localhost:ntpntpd 895 ntp 20 u IPv4 23020 0 t0 UDP CentOS7.2 daygeek.com:ntpsshd 1388 root 3 u IPv4 20065 0 t0 TCP *:ssh (LISTEN)sshd 1388 root 4 u IPv6 20067 0 t0 TCP *:ssh (LISTEN)snmpd 1396 root 6 u IPv4 22739 0 t0 UDP *:snmpsnmpd 1396 root 7 u IPv4 22729 0 t0 UDP *:40105 snmpd 1396 root 8 u IPv4 22730 0 t0 UDP *:50656 snmpd 1396 root 9 u IPv4 22731 0 t0 UDP *:pammratcsnmpd 1396 root 10 u IPv4 22732 0 t0 UDP *:30105 snmpd 1396 root 11 u IPv4 22733 0 t0 UDP *:40764 snmpd 1396 root 12 u IPv4 22734 0 t0 UDP *:53390 snmpd 1396 root 13 u IPv4 22735 0 t0 UDP *:28265 snmpd 1396 root 14 u IPv4 22736 0 t0 UDP *:11584 snmpd 1396 root 15 u IPv4 22737 0 t0 UDP *:39136 snmpd 1396 root 16 u IPv4 22738 0 t0 UDP *:56130 snmpd 1396 root 17 u IPv4 22740 0 t0 TCP localhost:smux (LISTEN)httpd 1398 root 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)master 2038 root 13 u IPv4 21638 0 t0 TCP *:smtp (LISTEN)master 2038 root 14 u IPv6 21639 0 t0 TCP *:smtp (LISTEN)sshd 9052 root 3 u IPv4 1419955 0 t0 TCP CentOS7.2 daygeek.com:ssh->Ubuntu18-04 .2 daygeek.com:11408 (ESTABLISHED)httpd 13371 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13372 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13373 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13374 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13375 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)
你也可以使用下面的命令检查特定的端口。
1 2 3 4 5 6 7 8 9 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 1398 root 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13371 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13372 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13373 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13374 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)httpd 13375 apache 3 u IPv4 20337 0 t0 TCP *:http (LISTEN)
via: https://www.2daygeek.com/linux-scan-check-open-ports-using-netstat-ss-nmap/
作者:Magesh Maruthamuthu 选题:lujun9972 译者:heguangzhi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出