内容纲要

如何检查Linux上的侦听端口和应用程序:

  1. 打开终端应用程序即shell提示符。
  2. 运行以下任一命令:
    sudo lsof -i -P -n | grep LISTEN 
    sudo netstat -tulpn | grep LISTEN
    sudo nmap -sTU -O IP-address-Here

让我们详细了解命令及其输出。

选项#1:lsof命令

语法为:示例输出:

$ sudo lsof -i -P -n
$ sudo lsof -i -P -n | grep LISTEN
$ doas lsof -i -P -n | grep LISTEN ### [OpenBSD] ###

图01:使用lsof命令检查监听端口和应用程序
图01:使用lsof命令检查监听端口和应用程序考虑上面输出的最后一行:

sshd 85379 root 3u IPv4 0xffff80000039e000 0t0 TCP 10.86.128.138:22(LISTEN)
  • sshd 是应用程序的名称。
  • 10.86.128.138 是sshd应用程序绑定到的IP地址(LISTEN)
  • 22 是正在使用的TCP端口(LISTEN)
  • 85379 是sshd进程的进程ID

选项#2:netstat命令

您可以使用netstat检查侦听端口和应用程序,如下所示。

Linux netstat语法

$ netstat -tulpn | grep LISTEN

FreeBSD / MacOS X netstat语法

$ netstat -anp tcp | grep LISTEN
$ netstat -anp udp | grep LISTEN

OpenBSD netstat语法

$ netstat -na -f inet | grep LISTEN
$ netstat -nat | grep LISTEN

选项#3:nmap命令

语法为:示例输出:

$ sudo nmap -sT -O localhost
$ sudo nmap -sU -O 192.168.2.13 ##[ list open UDP ports ]##
$ sudo nmap -sT -O 192.168.2.13 ##[ list open TCP ports ]##

图02:使用nmap确定哪些端口正在侦听TCP连接
图02:使用nmap确定哪些端口正在侦听TCP连接您可以在单个命令中组合TCP / UDP扫描:

$ sudo nmap -sTU -O 192.168.2.13

关于Windows用户的说明

您可以使用以下命令检查Windows操作系统的端口使用情况:

netstat -bano | more
netstat -bano | grep LISTENING
netstat -bano | findstr /R /C:"[LISTEING]"

发表评论

电子邮件地址不会被公开。 必填项已用*标注