如何检查我的计算机上已打开/关闭的端口?
我在命令行上使用netstat -a
。
在[netstat
][1]中,有几个参数对此很有用。
-l
或--listening
只显示当前正在监听的套接字。-a
或--all
显示当前正在使用的所有套接字。-t
或--tcp
显示tcp套接字。-u
或--udp
显示udp套接字。-n
或--numeric
显示主机和端口的数字,而不是在dns中解析和在/etc/services中查找。你可以混合使用这些方法来获得你想要的东西。要知道哪些端口号是当前正在使用的,可以使用其中的一个。
``bash netstat -atn # 用于tcp netstat -aun # 用于udp netstat -atun # 对于两者都是
在输出中,所有提到的端口都在使用中,要么是在监听传入的连接,要么是连接到一个对等的**,其他的都关闭了。TCP和UDP端口的宽度为16位(它们从1-65535)。
**它们也可以与对等体连接/断开连接。
[1]: http://manpages.ubuntu.com/netstat.8
你可以使用这个命令。
netstat -tulnp | grep <port no>
如果它显示一些进程,它就被使用。如果没有输出,它就关闭(不使用)。
端口状态"LISTENING"是否表示端口已经打开?
是的,这意味着在你的计算机上有一些服务正在监听该端口,以建立新的连接,即该端口是开放的。
任何没有显示在输出中的端口都表示它已经关闭?
是的。记住netstat -a
将显示所有主动(监听)和被动(非监听)的连接,即作为服务器的端口(一些服务正在监听这些端口以获得来自不同机器/进程的连接)和已建立的端口(无论主机/服务是服务器还是客户端,都在这些端口上建立连接)。
所有的TCP和UDP端口都属于一个叫做套接字的类别,有很多套接字。要查看套接字信息,你可以查看man ss
。