在Linux或类Unix下,如何查看端口是否被占用?如何验证Linux服务器中正在侦听哪些端口?验证哪些端口在服务器的网络接口上处于侦听状态非常重要。您需要注意那些打开的端口以检测网络入侵。除了网络入侵,为了排除故障,还需要确认服务器上的某个端口是否被其他应用程序占用。例如,您可能在同一系统上安装了Apache和Nginx服务器,因此了解Apache或Nginx使用的是#80/443TCP端口非常重要。本快速教程介绍了使用netstat、nmap和lsof命令来检查端口使用信息并找出哪些程序正在使用这些端口。如何在Linux中查看程序和监听端口1.打开一个终端,例如一个shell命令窗口。2.运行以下任一命令:sudolsof-i-P-n|grepLISTENsudonetstat-tulpn|grepLISTENsudonmap-sTU-OIP地址下面看一下这些命令及其详细输出内容:方法一:lsof命令语法如下:$sudolsof-i-P-n$sudolsof-i-P-n|grepLISTEN$doaslsof-i-P-n|grepLISTEN###OpenBSD的输出如下:图1:使用lsof命令查看监听端口和程序仔细看上面输出的最后一行:sshd85379root3uIPv40xffff80000039e0000t0TCP10.86.128。138:22(LISTEN)sshd是程序名10.86.128.138是sshd程序绑定的IP地址(LISTEN)22是使用的TCP端口(LISTEN)85379是sshd任务的进程号(PID)Method2:netstat命令您可以使用如下所示的netstat来查看监听的端口和程序。Linux中netstat的语法$netstat-tulpn|grepLISTENFreeBSD/MacOSX中netstat的语法$netstat-anptcp|grepLISTEN$netstat-anpudp|grepLISTENOpenBSD中netstat的语法$netstat-na-finet|grepLISTEN$netstat-nat|grepLISTEN方法三:nmap命令语法如下:$sudonmap-sT-Olocalhost$sudonmap-sU-O192.168.2.13###列出开放的UDP端口$sudonmap-sT-O192.168.2.13###列出打开的TCP端口示例输出如下:图2:使用nmap检测哪些端口侦听TCP连接。您可以使用一个命令来结合TCP/UDP扫描:$sudonmap-sTU-O192.168.2.13Bonus:对于Windows用户,您可以使用以下命令查看Windows系统下的端口使用情况:netstat-bano|morenetstat-bano|grepLISTENINGnetstat-bano|findstr/R/C:[LISTING]”
