如何检查计算机上打开/关闭的端口?

我在命令行上使用了netstat -a


端口状态“ LISTENING”是否指示该端口是打开的吗?
是否有任何端口(未在输出中显示)已关闭?


评论

在AskUbuntu上查看此帖子!。

@Justgivemeaname:nmap是用于检查另一台主机上开放端口的工具。如果您可以在一台机器上运行netstat,则使用它会更快,更可靠。

@DavidFoerster:不知道netstat,所以我知道了。它在链接中说,但是应该从另一个主机使用它。谢谢!

如何查看我的计算机上打开了哪些端口的可能重复项?

#1 楼

netstat的一些参数对此有用:



-l--listening仅显示当前正在监听传入连接的套接字。

-a--all显示当前使用的所有插槽。

-t--tcp显示tcp插槽。

-u--udp显示udp插槽。

-n--numeric将主机和端口显示为数字,而不是解析dns并查看/ etc / services。

您可以将它们混合使用以获取所需的内容。要了解当前正在使用的端口号,请使用以下端口号之一:

 netstat -atn           # For tcp
netstat -aun           # For udp
netstat -atun          # For both
 


在输出中提到的所有端口都在使用中,用于侦听传入连接或已连接到对等端口**,所有其他端口均已关闭。 TCP和UDP端口为16位宽(它们从1-65535开始)

**它们也可以与对等方建立连接/断开连接。

#2 楼

您可以使用以下命令:

netstat -tulnp | grep <port no>


如果它显示了已使用的某些进程。如果没有输出,则将其关闭(不使用)。

#3 楼

另一个易于使用的备用命令行可以找出哪个进程正在使用端口:

lsof -n -i4TCP:$PORT | grep LISTEN


我在.bash_profile中添加了下一个函数,

function pslisten {
    echo `lsof -n -i4TCP: | grep LISTEN`
}


,现在运行“ pslisten 5060”来查看谁在抢我的SIP端口。

它也可以与Apple Mac OS X一起使用。

#4 楼


端口状态“ LISTENING”是否指示该端口已打开?


是。这意味着某些服务正在侦听计算机上的该端口以进行传入连接,即该端口已打开以建立新的连接。


输出中未显示的任何端口都表明该端口正在


是的。请记住,netstat -a将显示所有主动(侦听)和被动(非侦听)连接,即同时充当服务器(某些服务正在侦听这些端口以获取来自不同机器/进程的连接)的端口并已建立(在这些端口(无论主机/服务可以是服务器还是客户端)都无关。

所有TCP和UDP端口都属于称为套接字的类别,并且其中有很多。要查看套接字信息,可以检查man ss

评论


谢谢。您写道-a表示服务器并已建立。 “服务器”是否表示某些服务正在侦听的端口? “已建立”是否表示存在现有连接的端口,而不管它是客户端还是服务器的端口?那么-a不显示哪种端口?

– Tim
18年8月21日在19:28



我不认为-a选项表示“所有活动”套接字;它只是意味着“全部”。 netstat默认情况下显示所有活动套接字,但不包括被动套接字(打开,侦听)。通过使用-a选项,可以显示主动和被动套接字。

– Egon Olieux
18-09-22在8:28

@EgonOlieux谢谢。我纠正了;编辑答案。

–heemayl
18-09-24在20:20

@heemayl答案的第二部分仍然不正确。处于“正在侦听”状态的TCP套接字永远不能成为连接。它没有连接任何东西,只是在监听。因此,侦听TCP套接字也称为被动套接字。如果客户端尝试连接到服务器上的(侦听)套接字,则会在服务器上创建一个新的套接字以与客户端建立连接。作为已建立连接的一部分的套接字称为活动套接字。

– Egon Olieux
18-09-25在20:37

#5 楼

另一个选择是ss。它更容易使用。...

下面的命令将仅输出当前监听套接字的列表。

root@server:~# ss -l

    Netid  State      Recv-Q Send-Q                                     Local Address:Port                                                      Peer Address:Port   


u_dgr  UNCONN     0      0                                                      * 23353                                                                * 23352                
u_dgr  UNCONN     0      0                                                      * 568                                                                  * 362                  
u_dgr  UNCONN     0      0                                                      * 14836                                                                * 14837                
u_dgr  UNCONN     0      0                                                      * 20446                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 22877                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 504                                                                  * 347                  
u_dgr  UNCONN     0      0                                                      * 16298                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23343                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24125                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 24617                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 23352                                                                * 23353                
u_dgr  UNCONN     0      0                                                      * 23334                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 17113                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 16957                                                                * 369                  
u_dgr  UNCONN     0      0                                                      * 14793                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 23345                                                                * 362                  
u_dgr  UNCONN     0      0                                                      * 24070                                                                * 369                  
udp    UNCONN     0      0                                                      *:sunrpc                                                               *:*                    
udp    UNCONN     0      0                                                      *:981                                                                  *:*                    
udp    UNCONN     0      0                                                     :::sunrpc                                                              :::*                    
udp    UNCONN     0      0                                                     :::981                                                                 :::*                    
tcp    LISTEN     0      128                                            127.0.0.1:85                                                                   *:*                    
tcp    LISTEN     0      128                                                    *:ssh                                                                  *:*                    
tcp    LISTEN     0      128                                                    *:3128                                                                 *:*                    
tcp    LISTEN     0      100                                            127.0.0.1:smtp                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:8006                                                                 *:*                    
tcp    LISTEN     0      128                                                    *:sunrpc                                                               *:*                    
tcp    LISTEN     0      128                                                   :::ssh                                                                 :::*                    
tcp    LISTEN     0      100                                                  ::1:smtp                                                                :::*                    
tcp    LISTEN     0      128                                                   :::sunrpc                                                              :::*                    


评论


我不知道这一点,谢谢zee

–尼克·福克斯
18年2月8日在10:19

#6 楼

否则使用手表可能会有所帮助,然后随心所欲地欣赏。

sudo watch -d -n0 "netstat -atnp | grep ESTA"

sudo watch -d -n0 "netstat -tulnp | grep ESTA"


评论


-a与-l冲突,-a捕获所有已建立或侦听的消息,-l只是捕获侦听的消息,因此实际上它是'-ltnp'tcp,'-lunp'udp或'-ltunp'tcp + udp

–ModerateJavaScriptDev
17年7月2日在23:31



#7 楼

实际上,有更好的方法来查看您打开了哪些端口。 netstatlsof的问题在于它们查询网络堆栈,实际上不连接至计算机,而是尝试查看系统上正在运行的内容。更好的方法是像这样使用nmap

nmap -sT -O localhost


查看打开的端口。

#8 楼



尝试此操作以获取该范围内打开的端口的列表。

 for p in {1..1023}
do
   (echo >/dev/tcp/localhost/$p) >/dev/null 2>&1 && echo "$p open"
done
 



这条命令将显示它是什么!

 cat /etc/services | grep {PORTNumber}