Мне нужно получить протокол (HTTP, FTP, SSMTP, IMAP, ETC) с IP-адреса и порта с Python3.
Пример:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) protocol = s.connect( ("localhost", 80 ) print protocol #print HTTP
Как правило, невозможно определить тип протокола сервера, прослушивающего какой-либо порт.Лучшее, что вы можете получить, это запросить название службы, которая обычно связана с каким-либо номером порта:
>>> socket.getservbyport(80) 'www'