Форум
подписаться на последние сообщения:

Модуль Socket

tim32
#
Здравствуйте. Хотел получше изучить сеть и работу питона с ней. Начал с портов. Почитал мануал к данному модулю, потыкал методы типа socket.gethostbyname и т.д. Хочется что нить практичное написать. Хочу попробовать написать программку которая просматривает состояние портов на сторон клиента. То есть вводишь диапазон 80-120 например, и она пишет какие открыты, а какие закрыты. Заранее спасибо.
Share
admin
#
А какой вопрос то?
tim32
#
Вопрос такой. С помощью каких методов можно это сделать. Просканировать порты. Я искал, но не нашел.
admin
#
tim32,
думаю вам надо почитать как работает nmap, а потом попытаться сделать подобное на питоне. Ну или просто почитать как вообще работают протоколы tcp, udp и icmp и тогда уже смотреть на методы в пакете socket.
frank-costello
#
самое простое это метод socket, но это и самый долгий способ. Пытаешься в цикле открыть сокет на нужный порт - если открыл - значит порт открыт, получил ошибку - закрыт.
На счет продвинутых методов я не уверен на счет питона, это низкоуровневое сетевое программирование, например параметр -sS посылает SYN пакет на открытие соединения и ждет в ответ SYN-ACK, если он пришел - порт открыт, если пришел RST - закрыт.
Для отправки таких пакетов нужны права администратора на системе, и, разумеется, соответствующая библиотека для питона, я не знаю существует ли такая.
Сообщение отредактировано: 07 Февраль 2011, 15:45