当前位置: 首页>>技术教程>>正文


如何检查我的电脑上打开/关闭的端口?

,

问题描述

我想知道如何检查我的电脑上打开/关闭的端口。

我在命令行上使用了netstat -a。端口状态”LISTENING”是否表示端口已打开?输出中没有显示的任何端口是否关闭?

最佳解决方法

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开始)

**他们也可以与对方连接/断开连接。

次佳解决方法

你可以使用这个命令:

netstat -tulnp | grep <port no>

如果它显示了它使用的某个过程。如果没有输出,则关闭(未使用)。

第三种解决方法

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

lsof -n -i4TCP:$PORT | grep LISTEN

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

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

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

它也适用于Apple Mac OS X。

第四种方法

端口状态”LISTENING”是否表示端口已打开?

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

输出中未显示的任何端口都表示它已关闭?

是。请记住,netstat -a将显示所有活动连接,即充当服务器的端口(某些服务正在侦听这些端口以连接来自其他机器/进程的端口)并建立连接(连接建立在这些端口上,而不管主机/a服务可以是服务器或客户端)

所有的tcp和udp端口都属于一个名为sockets的类别,并且有很多这样的类别。要查看套接字信息,您可以检查man ss

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/792.html,未经允许,请勿转载。