ProConOS协议的服务端模拟程序

问题:

实现ProConOS协议的服务端模拟程序,参考https://github.com/fofapro/fapro的实现,写一个命令行工具,通过配置文件制定协议相关配置,启动后,使用nmap扫描可以返回指定的模拟设备信息,比如可以配置以下的相关字段进行模拟。ProConOS协议的服务端模拟程序_第1张图片

标准:

1. golang实现,协议格式解析不能使用第三方库

2. 通过配置文件指定协议banner信息

3. 所有log输出开头以[协议名]开始: 比如log.Info("[Proconos] user login”)。需要记录协议交互步骤。

4. 使用https://github.com/digitalbond/Redpoint/blob/master/proconos-info.nse 的nmap脚本可以扫描返回配置的设备信息

思路:

1. 看到题目,首先要了解两个知识,第一,ProConOS协议是什么;第二nmap的使用。

2. 了解知识后,参考fapro实现就是要弄懂fapro的代码逻辑。然后模仿fapro实现相关的功能。

3. 命令行工具的编写,配置文件编写

4. 模仿支持ProConOS协议的设备被nmap扫描出来的结果,构造程序的返回报文。确保返回报文可以被nmap识别为ProConOS协议,达到欺骗Nmap的目的。

最终目的:模拟一个支持ProConOS协议的设备,在nmap扫描的时候返回和真实ProConOS协议一样的报文。

实现:

参考代码:GitHub - FrankZhang63/ProConOS

你可能感兴趣的:(网络,golang)