Как использовать запросы WHOIS из скрипта python, когда порт 43, вероятно, недоступен - PullRequest
1 голос
/ 29 апреля 2020

Я очень плохо знаком с сетевым программированием и столкнулся со следующей проблемой:

Я работаю на виртуальной машине VMware CentOS7 на хосте Windows10. Мой сценарий должен отправлять запросы WHOIS и анализировать их выходные данные (например, срок действия).

Однако попытка отправить запрос приводит к ошибке подключения:

>>>import whois
>>>whois.query('google.com')


WhoisCommandFailed: connect: Network is unreachable

Я пытался whois из терминала, но ошибка была той же. Когда я попытался использовать whois непосредственно с Windows, на котором размещена виртуальная машина, ошибка выглядела так же (время ожидания подключения).

Как я выяснил, это, скорее всего, было связано с доступом к порту 43. Я создал правила (для входа и выхода) для Windows брандмауэра для этого порта с помощью guide , но ошибка все еще сохранялась. Похоже, что доступ к этому порту был заблокирован провайдером (однако команда ping работает).

Подводя итог, я получил два вопроса: 1) (менее важно) Как проверить, работает ли порт 43 заблокирован брандмауэром или провайдером? 2) (самое главное) Можно ли каким-то образом перенастроить WHOIS для использования другого порта (т. Е. 23) для отправки запросов по сценарию Python?
К сожалению, политика безопасности ISP не позволяет им открывать 43 порта.

1 Ответ

0 голосов
/ 29 апреля 2020

В основном провайдер не блокирует ни один порт, но да, это не на 100% верно.

Проверка соединения:

  • run tcpdump ( команда установки: yum install tcpdump) команда в CentOS: tcpdump -peni any tcp and port 43
  • Вы должны увидеть строки со следующим текстом: 192.168.1.1.57350 > 192.34.234.30.43, где 192.34.234.30 IP-адрес означает удаленный сервер Whois .
  • Попробуйте подключить lnet к порту TCP / 43 удаленного сервера: telnet 192.34.234.30 43
  • Вы должны увидеть следующее:

Попытка 192.34 .234.30 ...

Подключено к 192.34.234.30.

Экранирующий символ - '^]'.

  • Если вы не видите контекст Таким образом, и вы получите приглашение немедленно, вы будете где-то правило брандмауэра, что такое блокировать соединение. Я рекомендую временно отключить брандмауэр и повторить тестирование.

Вы не можете изменить номер порта, поскольку он настроен на удаленной стороне на сервере.

Может ли сервер CentOS7 взаимодействовать с inte rnet? Например, вы можете установить пакеты?

Есть ли маршрутизатор между windows машиной и провайдером?

...