как получить протокол от ip и порт с Python3? - PullRequest
1 голос
/ 19 января 2012

Мне нужно получить протокол (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

1 Ответ

5 голосов
/ 19 января 2012

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

>>> socket.getservbyport(80)
'www'
...