1

GuildFTPd FTP サーバーがポート 21 で実行されていると Nmap に信じ込ませるソフトウェアを作成しています。これまでの私の python コードは次のようになります。

import socket

s = socket.socket( )
s.bind(('', 21))
s.listen(1)
conn, addr = s.accept()
conn.send("220-GuildFTPd FTP Server (c) 1997-2002\r\n220-Version 0.999.14")
conn.close()

この特定のサービスに一致する Nmap 正規表現は次のとおりです。

match ftp m|^220-GuildFTPd FTP Server \(c\) \d\d\d\d(-\d\d\d\d)?\r\n220-Version (\d[-.\w]+)\r\n| p/Guild ftpd/ v/$2/ o/Windows/

ただし、スクリプトを実行しているホストを Nmap でスキャンすると、結果は次のようになります。

21/tcp open ftp?

どうすればいいの?Nmap で実際のサービスをスキャンすると、サービスが正しく識別されます。

4

1 に答える 1