当我做的时候
nmap localhost
我明白了
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
646/tcp open unknown
646 端口是什么?
答案1
你应该能够看到该端口上运行着什么
netstat -tunlp | grep 646
来自评论
tcp 0 0 0.0.0.0:646 0.0.0.0:* LISTEN 2584/rpc.statd
这表明rpc.statd(PID 2584) 正在监听端口 646。rpc.statd 进程是 NFS 实现的一部分。
答案2
由于问题已经得到解答,我将提供一些更背景知识的答案。
Nmap 通过尝试连接来显示开放端口。如果收到肯定响应,它会报告端口已打开,并SERVICE
根据nmap-services
文件中的表查找提供更多信息(列)。对于该文件中没有条目的端口,它会报告unknown
。
被扫描机器的操作系统知道所有开放的端口,因为它必须处理较低层的网络通信,以便将数据传递给正在监听它的应用程序(或程序)。在 Windows、Linux 和大多数 *nix 系统上,用户可以使用该命令直接从操作系统获取有关开放端口的信息netstat
。此外,使用选项-p
(-b
在 Windows 上),特权用户(例如 root)可以看到使用每个端口的名称和进程 ID (PID)。
Nmap 并不局限于查找端口信息nmap-services
。当用户请求服务版本检测(-sV
)时,Nmap 会将数据发送到它发现的开放端口,然后将响应与大量服务指纹列表进行比较,从而生成更详细的信息,如下所示:
PORT STATE SERVICE VERSION
646/tcp open rstatd (rstatd V1) 1 (rpc #100001)