Ftp Nmap赢得';我不承认服务

Ftp Nmap赢得';我不承认服务,ftp,nmap,emulation,Ftp,Nmap,Emulation,我正在尝试编写一个模拟不同服务的程序。我从CoreFTP开始。当我查看Nmap的service Probe文件时,我发现以下条目: 匹配ftp m^220核心ftp服务器版本([\w.|-]+,build\d+),已安装(\d+天前)已注册\r\n | p/Core ftp服务器/v/$1/i/已安装$2/ 用于标识正在运行的CoreFTP服务器。但是,扫描Nmap时,即使服务正在运行,也无法识别它!手动FTP会话的输出如下所示: 220 Core FTP Server Version 1.2,

我正在尝试编写一个模拟不同服务的程序。我从CoreFTP开始。当我查看Nmap的service Probe文件时,我发现以下条目:

匹配ftp m^220核心ftp服务器版本([\w.|-]+,build\d+),已安装(\d+天前)已注册\r\n | p/Core ftp服务器/v/$1/i/已安装$2/

用于标识正在运行的CoreFTP服务器。但是,扫描Nmap时,即使服务正在运行,也无法识别它!手动FTP会话的输出如下所示:

220 Core FTP Server Version 1.2, build 412, installed 0 days ago Registered
User (john:(none)):
C:\Users\john>
所以我不明白为什么当签名与正则表达式匹配时Nmap不能识别服务。为什么会这样


提前感谢。

您确定签名会输出\r\n吗?是的,它会换行。在“注册”之后,当我手动ftp时,它会转到另一行。我更新了示例以便您可以看到它。大多数Unix仅使用\n,可能regexp应该是[\r\n],这就是为什么我问您是否确定输出是\r\n,即ascii 0x0D 0x0A可能是因为它实际上没有输出“核心FTP服务器/v/$1/I/安装的$2/”?@CK即使它转到下一行,它也不一定是在执行
\r\n
。。。这完全取决于平台。。。