|
1. Написать скрипт на Python, который определяет открыт ли заданный порт на заданном ip адресе(ip адрес и порт вводятся с клавиатуры).
2. Определить какие программы работают с данными портами(т.е. с портами, которые нужны мне, например я хочу узнать, с какой программой работает порт 631)
Еще одно задание я уже сделал, это "написать скрипт на Языке Python, который определяет доступные порты подключения на localhost. Вот листинг моей программы (на последнее задание):
import socket
ports = []
for i in xrange(65536):
ports.append(i)
open_port = []
for port in ports:
sock = socket.socket()
sock.settimeout(0.5)
try:
sock.connect(('localhost', port))
except:
continue
else:
open_port.append(port)
print ('Port %s open.' % port)
sock.close()
Листинг программы на 1-е задание, но она все время показывает, что порт закрыт (например 631), а он точно открыт (проверенно первым скриптом и еще одним):
import socket
host = raw_input('Input IP:')
port = raw_input('Input port:')
s = socket.socket()
s.settimeout(0.01)
try:
s.connect((host, port))
except:
print ('Port %s close' % port)
else:
print ('Port %s open.' % port)
s.close()
В чем ошибка? помогите, пожалуйста. Заранее благодарю!
|