2017-01-23 91 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/