Я пытаюсь найти все доступные порты для подключения компьютера. Я использую коды нижеPython psutil найти доступные порты
import psutil
for proc in psutil.process_iter():
print (proc)
for x in proc.connections():
if x.status == psutil.CONN_LISTEN:
print (x)
print(proc)
печатает все процессы, как psutil.Process(pid=5808, name='pythonw.exe')
и так далее. Мой первый вопрос: что такое pid
переменная? Это порт?
Во-вторых, когда я print (x)
я получаю выход как pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=('xxx.x.x.x', xxxxx), raddr=(), status='LISTEN')
я понял, что laddr
стоит на локальный адрес, но то, что другие номера laddr
? «xxx.x.x.x» выглядит как IP-адрес, но на некоторых выходах он пуст, цифр нет. Также вторая переменная laddr
иногда составляет 3 цифры, иногда 5 цифр. Для чего стоят эти цифры?
И мой последний вопрос, я нахожусь на правильном пути для поиска открытых портов? Я пытаюсь подключить компьютер, поэтому сначала пытаюсь найти открытые порты.
Так, например, я могу подключиться к компьютеру через эти номера портов, например: 3128? У меня есть IP-адрес, поэтому я просто проверяю наличие доступного порта для подключения. – GLHF
Если вы используете это на компьютере А, вы получаете порты, которые используются на компьютере А, поэтому он может рассказать вам, какой IP-адрес и комбинацию портов вы можете подключить на компьютере А из другого места.Если вы выполняете исходящее соединение с computerA, вам не нужно беспокоиться о свободных/используемых портах на нем, просто подключиться к –
. Я действительно попробую его в командной строке с помощью telnet [IP ADDRESS] [PORT ] 'с помощью этой команды. У меня также есть сценарий, который, по моему мнению, делает подключение telnet довольно коротким, проверьте его: http: //paste.ubuntu.com/16967685/. Поэтому мне показалось, что мне нужен номер порта, потому что этим методам нужен открытый порт. – GLHF