kbe*_*oit 178
有几个参数netstat
对此很有用:
-l
或--listening
仅显示当前侦听传入连接的套接字。-a
或--all
显示当前使用的所有套接字。-t
或--tcp
显示 tcp 套接字。-u
或--udp
显示 udp 套接字。-n
或--numeric
将主机和端口显示为数字,而不是在 dns 中解析并在 /etc/services.conf 中查找。你可以混合使用这些来获得你想要的。要了解当前正在使用的端口号,请使用以下选项之一:
netstat -atn # For tcp
netstat -aun # For udp
netstat -atun # For both
Run Code Online (Sandbox Code Playgroud)
在输出中提到的所有端口都在使用中,要么侦听传入连接,要么连接到对等方**所有其他端口都已关闭。TCP 和 UDP 端口是 16 位宽(它们从 1 到 65535)
** 他们也可以与对等方连接/断开连接。
kas*_*der 80
你可以使用这个命令:
netstat -tulnp | grep <port no>
Run Code Online (Sandbox Code Playgroud)
如果它显示了它使用的某些过程。如果没有输出,则关闭(未使用)。
Fer*_*cci 24
另一个易于使用的替代命令行,用于找出哪个进程正在使用端口:
lsof -n -i4TCP:$PORT | grep LISTEN
Run Code Online (Sandbox Code Playgroud)
我在 .bash_profile 中添加了下一个函数,
function pslisten {
echo `lsof -n -i4TCP:$1 | grep LISTEN`
}
Run Code Online (Sandbox Code Playgroud)
现在运行“pslisten 5060”来查看谁在抢我的 SIP 端口。
它也适用于 Apple Mac OS X。
hee*_*ayl 17
端口状态“LISTENING”是否表示端口已打开?
是的。这意味着某些服务正在侦听您计算机上的该端口以进行传入连接,即该端口已打开以建立新连接。
输出中未显示的任何端口表示它已关闭?
是的。记住netstat -a
将显示所有主动(侦听)和被动(非侦听)连接,即充当服务器(某些服务正在侦听这些端口以获取来自不同机器/进程的连接)和已建立(在这些端口上建立连接)的端口端口,而不管主机/服务可以是服务器还是客户端)
所有 TCP 和 UDP 端口都属于一个称为套接字的类别,并且有很多。要查看套接字信息,您可以检查man ss
。
小智 10
另一种选择是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 :::*
Run Code Online (Sandbox Code Playgroud)
小智 5
实际上有一个更好的方法来查看您打开了哪些端口。netstat
或 的问题lsof
在于,它们查询网络堆栈,但实际上没有连接到计算机,而是尝试查看系统上正在运行的内容。nmap
更好的方法是像这样使用:
nmap -sT -O localhost
Run Code Online (Sandbox Code Playgroud)
查看开放的端口。
归档时间: |
|
查看次数: |
822867 次 |
最近记录: |