2017-01-23 93 views
0

我正在开发一个自定义的SSH服务器,我正在更换Paramiko(http://www.paramiko.org/)SSH Banner /版本。如何更改Paramiko SSH Banner /版本?

这里是NMAP输出:

 
PORT STATE SERVICE VERSION 
22/tcp open ssh  Paramiko Python sshd 2.1.1 (protocol 2.0) 

我想将它更改为:

 
PORT STATE SERVICE VERSION 
22/tcp open ssh  My sshd 1.0 (protocol 2.0) 

这里是我用来创建我的SSH服务器的代码:https://github.com/paramiko/paramiko/blob/master/demos/demo_simple.py

有任何想法吗?

感谢

回答

0

客户端/服务器comes fromTransport类的local_version属性中使用,所以如果你改变它,你在运输致电start_server()start_client()之前,那么它应该工作的旗帜,如:

transport.local_version = 'SSH-2.0-My sshd 1.0' 
transport.start_server(...) 

请注意,nmap报告取决于nmap-service-probes中的哪个探测器被触发,因此您在nmap中的输出可能与您所期望的不同。与paramiko匹配的行是:

match ssh m|^SSH-([\d.]+)-paramiko_([\w._-]+)\r?\n| p/Paramiko Python sshd/ v/$2/ i/protocol $1/