2017-01-23 17 views
0

Я разрабатываю пользовательский SSH-сервер, и я ищу, чтобы изменить Paramiko (http://www.paramiko.org/) SSH Banner/version.Как сменить баннер/версию Paramiko SSH?

Вот птар выход:

 
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 from атрибутом Transport класса local_version, так что если вы измените его, прежде чем позвонить start_server() или start_client() на транспорте, то он должен работать, например:

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

Обратите внимание, что сообщения nmap зависят от того, какой зонд находится в nmap-service-probes, поэтому ваш вывод в nmap может отличаться от ожидаемого. Линией, которая соответствует параметрико, будет:

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