是否有用于此的命令?
#1 楼
nmap(安装)
Nmap(“ Network Mapper”)是一个免费的开源实用程序,用于网络探索或安全审核。
将
nmap 192.168.1.33
用于内部PC或nmap external IP address
。更多信息
man nmap
。Zenmap是官方的GUI前端。
#2 楼
我一直使用以下命令:sudo netstat -ntlp | grep LISTEN
如果
netstat
命令不可用,请使用以下命令进行安装:sudo apt install net-tools
评论
须藤netstat -ntlp | grep LISTEN ...使用sudo,否则... pid将不会被打印。
–拉法(Rafaf Tahsin)
16年8月28日在5:14
-l已经过滤用于监听。 grep LISTEN除了隐藏两行标题信息外无济于事。
– Dan Dascalescu
17年1月18日在19:19
-t:tcp,-l:监听套接字,-p:显示pid和程序名称,-n:打印127.0.0.1:80而不是localhost:http。参考:linux.die.net/man/8/netstat
–里克
18-10-19在9:45
使用sudo apt安装netstat apt-get install net-tools
–RichArt
18-10-28在22:12
扩展的命令是sudo netstat --tcp --listening --programs --numeric。除非您要消除列标题,否则无需使用grep。
–帕特里克·达克(Patrick Dark)
19年3月12日在7:50
#3 楼
找出正在侦听哪些端口以及您的防火墙规则的其他好方法:sudo netstat -tulpn
sudo ufw status
评论
我再次将答案更改为nmap,netstat的可用性很糟糕。
–乔纳斯(Jonas)
2014年3月23日在17:28
@Jonas:在nmap答案下查看我的评论。它不会列出仅绑定到本地主机的服务。
– Dan Dascalescu
17年1月18日在17:59
#4 楼
要列出打开的端口,请使用netstat
命令。例如: $ sudo netstat -tulpn | grep LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 5452/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1037/cupsd
tcp6 0 0 ::1:631 :::* LISTEN 1037/cupsd
在上面的示例中,三个服务绑定到了环回地址。
绑定到环回地址“ 127.0.0.1”的IPv4服务仅在本地计算机上可用。 IPv6的等效环回地址为“ :: 1”。 IPv4地址“ 0.0.0.0”表示“任何IP地址”,这意味着其他计算机可能会连接到特定端口上任何本地配置的网络接口。
另一种方法是使用
lsof
命令: $ sudo lsof -nP -i | grep LISTEN
cupsd 1037 root 9u IPv6 11276 0t0 TCP [::1]:631 (LISTEN)
cupsd 1037 root 10u IPv4 11277 0t0 TCP 127.0.0.1:631 (LISTEN)
dnsmasq 5452 nobody 5u IPv4 212707 0t0 TCP 127.0.0.1:53 (LISTEN)
有关更多详细信息,请参阅
man netstat
或man lsof
。评论
我以为-l选项是列出LISTENing端口。所以grep在这里会多余吗?
– Alexis Wilke
16-10-8在18:53
#5 楼
这足以表明在端口80(标准Web服务器端口号)上有一个进程正在侦听IP地址0.0.0.0
(需要,它会答复任何请求)。就我而言,这表明它是Web服务器lighttpd
$ sudo netstat -ntlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2495/lighttpd
如果以后您要确保通过防火墙的唯一允许选择的端口是80端口,我经常使用来自www.grc.com的ShieldsUp可以执行防火墙测试。
#6 楼
sudo iptables -L
将列出您的PC的端口规则。请注意,如果您使用ufw或Shorewall防火墙,则输出可能很难读取。
在这种情况下,请使用
sudo ufw status
。这本身不是很有用,因为即使端口是开放访问的,即使没有进程在该端口上侦听,它仍然会被拒绝。
#7 楼
如果您正在寻找服务器机器或本地端口的连续监视功能,我想您也可以使用nmap的图形版本,例如Zenmap以获得更详细的版本。Zenmap是官方的图形用户界面(GUI) Nmap Security Scanner。
可用的支持(Linux,Windows,Mac OS X,BSD等)
查看此工具视图:
#8 楼
ss:打印:
网络连接
路由表
接口统计信息
化妆舞会连接
多播成员身份
Install:
sudo apt install net-tools
Example:
~$ ss -ntlp | grep LISTEN
>
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 50 [::ffff:127.0.0.1]:9614 *:*
评论
你确定吗? net-tools提供netstat。 iproute2提供ss。检查与dpkg -S $(哪个ss)
–巴勃罗·比安奇(Pablo Bianchi)
20年8月26日在7:45
#9 楼
在最新的Linux发行版中,很可能您将找不到netstat
命令。$ netstat
Command 'netstat' not found, but can be installed with:
sudo apt install net-tools
$
但是,如果要使用它,请继续使用
sudo apt install net-tools
命令进行安装。Fy,netstat已过时(请参阅手册页),因此应使用
ss
的netstat
intead。该程序已过时。 netstat的替换项是ss。
netstat -r的替换项是ip route。替换netstat
-i是ip -s链接。 netstat -g的替换项是ip maddr。
例如
$ ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 5 127.0.1.1:53 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 128 ::1:631 :::*
描述
仅显示侦听套接字(默认情况下会省略这些套接字)。
-n,--numeric
请勿尝试解析服务名称。
-t,- tcp
显示TCP套接字。
#10 楼
假设您想检查端口3000:netstat -na | grep 3000
评论
谢谢,nmap localhost很棒。
–乔纳斯(Jonas)
2010-10-25 13:24
请记住,nmap localhost和nmap 192.168.0.3(或您所用的机器IP是什么)之间是有区别的
–拉瑟·波尔森
2010-10-25 14:47
我认为netstat是一个更好的答案。 netstat将列出系统正在直接监听的内容,而无需使用其他应用程序,也无需通过本地主机进行不必要的调用,也无需考虑网络。
–马修·特鲁德尔-拉皮埃尔(Mathieu Trudel-Lapierre)
2010年11月3日,下午1:57
真傻如果您有权访问计算机,则只需使用netstat -ln。您会立即看到所有打开的端口。
– Alexis Wilke
16-10-8在18:51
nmap localhost找不到仅绑定到localhost的服务。例如,我使用bind-address:localhost:8086运行influxd。这没有显示在sudo nmap localhost中,但是确实出现在sudo netstat -tulpn中。
– Dan Dascalescu
17年1月18日在17:58