2016-08-18 12 views
0

У меня есть простой сервер сокетов python. Вот код:Сервис и версия, отображаемая через nmap-сканирование для простого сервера сокетов python

import socket 
host = "0.0.0.0" # address to bind on. 
port = 8081 

def listen_serv(): 
    try: 
     s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
     s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
     s.bind((host,port)) 
     s.listen(4) 

... 
messages back and forth between the server and client 
... 

if __name__ == "__main__": 
    while True: 
     listen_serv() 

Когда я запускаю сервер питона локально, а затем отсканировать с nmap localhost я вижу открытый порт 8081 с сервисной BlackICE-куполовидного на нем работает. Быстрый поиск в Google показал, что это услуга брандмауэра, которая использует порт 8081 для службы, называемой дистанционным пультом дистанционного управления. Если я, например, сменил порт на 12000, я получаю еще одну услугу cce4x.

Дальнейшее сканирование с nmap localhost -sV возвращает содержимое питона сценария

1 service unrecognized despite returning data. If you know the service/version, 
please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : 
SF-Port8081-TCP:V=7.25BETA1%I=7%D=8/18%Time=57B58EE7%P=x86_64-pc-linux-gn 
SF:u%r(NULL,1A4,"\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\ 
SF:*\*\*\*\*\*\*\*\*\*\*\*\*\n\*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x 
SF:20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ 
SF:x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\*\n\*\x20\x20\x20\x20\x20\x 
SF:20Welcome\x20to\x20ScapeX\x20Mail\x20Server\x20\x20\x20\x20\*\n\*\x20\x 
SF:20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ 
SF:x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 
SF:\x20\x20\*\n\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\ 
SF:*\*\*\*\*\*\*\*\*\*\*\*\nHere\x20is\x20a\x20quiz\x20to\x20test\x20your\ 
SF:x20knowledge\x20of\x20hacking\.\.\.\n\n\nAnswer\x20correctly\x20and\x20 
SF:we\x20will\x20reward\x20you\x20with\x20a\x20shell\x20:-\)\x20\nQuestion 
    etc... 
    etc... 

Есть ли способ я могу настроить описания услуг и версии, которые отображаются с помощью Nmap для моего простого сервера питона?

ответ

1

Найдено решение, отправив следующую строку в качестве первого сообщения от сервера

c.send("HTTP/1.1 200 OK\r\nServer: Netscape-Enterprise/6.1\r\nDate: Fri, 19 Aug 2016 10:28:43 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nConnection: close\r\nVary: Accept-Encoding\n\nContent-Length: 32092\r\n\n\n""") 

 Смежные вопросы

  • Нет связанных вопросов^_^