当我做
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端口?
你应该能够看到在那个端口上运行什么
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实现的一部分。
既然这个问题已经被回答了,我会提供一个更多背景的答案。
Nmap通过尝试连接到它们来显示打开的端口。 如果接收到肯定的响应,则报告该端口为开放状态,并根据nmap-services文件中的查找表提供更多信息( SERVICE列)。 对于该文件中没有条目的端口,报告unknown 。
扫描机器的操作系统知道什么端口是开放的,因为它必须处理较低层的networking通信,以便将数据交给正在监听的应用程序(或程序)。 在Windows,Linux和大多数* nix系统上,用户可以使用netstat命令直接从操作系统获取有关打开端口的信息。 此外,使用-p选项(在Windows上为-b ),特权用户(例如root)可以看到使用每个端口的名称和进程ID(PID)。
Nmap不限于查找nmap-services端口信息。 当用户请求服务版本检测( -sV )时,Nmap将数据发送到它所发现的端口,然后将这些响应与广泛的服务指纹列表进行比较,从而生成更详细的信息,例如:
PORT STATE SERVICE VERSION 646/tcp open rstatd (rstatd V1) 1 (rpc #100001)