Пингование сетевого порта: Как пропинговать хост с портом? — Хабр Q&A
Как использовать команду Ping для проверки сети
Команда ping отправляет пакеты данных на определенный IP-адрес в сети, а затем позволяет узнать, сколько времени потребовалось для передачи этих данных и получения ответа. Это удобный инструмент, который Вы можете использовать для быстрого тестирования различных точек Вашей сети. Вот как это использовать.
Как работает Ping
Ping исходит из термина, используемого в технологии сонара, который посылает импульсы звука, а затем слушает возвращение эха. В компьютерной сети инструмент ping встроен в большинство операционных систем, которые работают практически так же. Вы выдаете команду ping вместе с определенным URL или IP-адресом. Ваш компьютер отправляет на это несколько пакетов информации, а затем ждет ответа. Когда он получает ответ, инструмент ping показывает Вам, сколько времени каждый пакет потратил, чтобы совершить это путешествие, или сообщает, что ответа не было.
Это звучит просто, и это так. Вы можете проверить, может ли Ваш компьютер подключаться к другому устройству — например, Вашему маршрутизатору — в локальной сети или к устройству в Интернете. Это может помочь Вам определить, есть ли сетевая проблема где-то в Вашей локальной сети или где-то еще. Время, необходимое для возврата пакетов, может помочь Вам определить медленное соединение или если Вы столкнулись с потерей пакетов.
И не имеет значения, какую операционную систему Вы используете. Поднимите терминал или окно командной строки, и Вы можете использовать ping для MacOS, Linux или любой версии Windows.
Как использовать Ping
Мы собираемся использовать командную строку Windows в нашем примере здесь. Но Dы также можете использовать команду ping в Windows PowerShell или в приложении Terminal на macOS или любом дистрибутиве Linux. Как только Dы доберетесь до фактической команды, она работает одинаково везде.
В Windows нажмите Windows + R. В окне «Запуск» введите «cmd» в поле поиска и нажмите «Enter».
В командной строке введите «ping» вместе с URL-адресом или IP-адресом, который Вы хотите проверить, и нажмите «Enter». На изображении ниже мы пинговали guidepc.ru и получили нормальный ответ.
Этот ответ показывает URL-адрес, который Вы просматриваете, IP-адрес, связанный с этим URL-адресом, и размер пакетов, отправляемых в первой строке. Следующие четыре строки показывают ответы от каждого отдельного пакета, включая время (в миллисекундах), которое требуется для ответа, и время жизни (TTL) пакета, которое представляет собой количество времени, которое должно пройти до сброса пакета.
Внизу Вы увидите сводку, которая показывает, сколько пакетов было отправлено и получено, а также минимальное, максимальное и среднее время отклика.
И на следующем рисунке мы пингуем маршрутизатор в нашей локальной сети, используя его IP-адрес. Мы также получаем от него нормальный ответ.
Когда инструмент ping не получает ответа от любых устройств, которые Вы пинговали, это также дает Вам знать об этом.
И вот как использовать пинг на самом базовом уровне. Конечно, как и большинство команд, есть несколько дополнительных опций, которые Вы можете использовать, чтобы заставить его вести себя по-другому. Например, Вы можете заставить его отслеживать пункт назначения до тех пор, пока Вы не остановите команду, не укажете, сколько раз Вы хотите, чтобы он выполнял ping, задал, как часто он должен пинговать, и многое другое. Но, если Вы не выполняете некоторые конкретные типы устранения неполадок, Вам не нужно беспокоиться об этих расширенных параметрах.
Если Вам это интересно, просто введите «ping /?» В командной строке, чтобы увидеть список параметров.
Что Вы можете сделать с помощью Ping
Теперь, когда Вы знаете, как использовать эту команду, вот некоторые интересные вещи, которые Вы можете сделать с ней:
- Ping URL (например, guidepc.ru) или IP-адрес, чтобы узнать, можете ли Вы добраться до интернет-адресата. Если Вы получите успешный ответ, Вы знаете, что все сетевые устройства между Вами и этим получателем работают, включая сетевой адаптер на Вашем компьютере, Ваш маршрутизатор и любые устройства в Интернете между Вашим маршрутизатором и пунктом назначения. И если Вы заинтересованы в дальнейшем изучении этих маршрутов, Вы можете использовать другой сетевой инструмент с именем tracert, чтобы сделать это.
- Ping URL-адреса, чтобы увидеть его IP-адрес. Если Вы хотите узнать IP-адрес для определенного URL-адреса, Вы можете отправить URL-адрес. Инструмент ping показывает Вам вверху IP-адрес, с которым он работает.
- Ping Вашего маршрутизатора, чтобы увидеть, можете ли Вы достичь его. Если Вы не можете успешно выполнить ping интернет адреса, Вы можете попробовать выполнить ping-соединение с Вашим маршрутизатором. Успешный ответ позволяет узнать, что Ваша локальная сеть работает нормально, и проблема, связанная с доступом к интернет-сайту, находится где-то вне Вашего контроля.
- Ping Вашего loopback-адреса (127.0.0.1). Если Вы не можете успешно выполнить ping роутера, но Ваш маршрутизатор, похоже, включен и работает, Вы можете попробовать ping так называемый loopback адреса. Этот адрес всегда 127.0.0.1, и его успешное тестирование позволяет узнать, что сетевой адаптер на Вашем компьютере (и сетевое программное обеспечение в Вашей ОС) работает правильно.
Примечание: Вы не можете получить ответ ping с других компьютеров в локальной сети, потому что встроенные брандмауэры на этих устройствах не позволяют им отвечать на запросы ping. Если Вы хотите иметь возможность пинговать эти устройства, Вам необходимо отключить эту настройку, чтобы разрешить прохождение через брандмауэр.
В приведенном выше списке используется внешний подход, когда Вы сначала отправляете запрос на самый удаленный пункт назначения, а затем прокладываете путь к более локальным устройствам. Некоторым людям нравится работать наоборот, сначала пинг loopback адреса, затем маршрутизатор (или другое локальное устройство), а затем интернет-адрес.
И, конечно, о чем мы говорим в этой статье, в основном относится к использованию ping для устранения неполадок в домашней или малой бизнес-сети. Кроме того, если Вам поручено устранять неполадки в крупных сетях, Вы, вероятно, уже знаете, как использовать пинг и многие другие сетевые инструменты.
Проброс портов и настройка роутера для внешнего доступа | Роутеры (маршрутизаторы) | Блог
Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.
Зачем открывать доступ извне?
Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.
Цвета и формы IP-адресов
Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.
Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.
Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.
Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.
Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.
Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.
Кто я, где я, какого я цвета?
С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.
В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.
Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.
Если же адрес выглядит по-другому, надо посмотреть на него «снаружи» с помощью одного из сервисов, показывающих ваш IP-адрес, например, http://myip.ru/.
Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.
Что такое порты и зачем их бросать?
Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).
Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.
Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.
Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.
Игровые порты: что, куда бросаем?
Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.
У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.
Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.
В следующей таблице приведены некоторые игры и используемые ими порты на ПК:
Fortnite | Overwatch | PUBG | Tekken 7 | WoT |
TCP: 5222, 5795:5847 | TCP: 80, 1119, 3724, 6113 | TCP: 27015:27030, 27036:27037 | TCP: 27015:27030, 27036:27037 | TCP: 80, 443, 5222, 5223, 6881, 6900:6905, 50010:50014 |
UDP: 5222, 5795:5847 | UDP: 5060, 5062, 6250, 3478:3479, 12000:64000 | UDP: 4380, 27000:27031, 27036 | UDP: 4380, 27000:27031, 27036 | UDP: 53, 1900, 3432, 3478, 3479, 5060, 5062, 6881, 12000:29999, 30443, 32800:32900 |
Настраиваем проброс портов
Пробросы настраиваются в админ-панели роутера на вкладке «Виртуальные серверы», «NAT», «Переадресация портов», «Трансляция сетевых адресов» и т. п. Они могут быть вложенными во вкладки «Интернет», «Переадресация», «Брандмауэр» или «Безопасность». Все зависит от марки и модели роутера.
Вам нужно определить, какие порты и какой протокол (UDP или TCP) использует программа, для которой вы настраиваете правило. Также следует задать статический IP-адрес для устройства, на которое пробрасывается порт — это делается в настройках DHCP и подробно разбиралось в статье про родительский контроль. Все эти данные следует ввести в соответствующие поля.
Некоторые роутеры позволяют задать также и внешний IP-адрес (или диапазон адресов). Так что если вы знаете IP-адрес, с которого будет идти обращение к вашему устройству (например, адрес игрового сервера), то его следует также ввести на странице — это повысит безопасность соединения.
Теперь все обращения с адреса 132.12.23.122 к порту 3074 вашего роутера он автоматически «перебросит» к вашей приставке PlayStation.
Больше пробросов для разных задач!
Аналогично производится настройка для других программ — и это могут быть не только игры:
задав порт и настроив удаленное управление для uTorrent, можно управлять его загрузками из любой точки мира с помощью браузера;
проброс портов часто требуется для специализированных программ удаленного управления компьютером; более простые, «гражданские» программы могут работать без этого — подробнее о них можно прочитать в этой статье;
для запуска на домашнем компьютере ftp-сервера потребуется открыть и пробросить управляющий порт 21 и отдельный диапазон портов для передачи данных;
пробросив порт 554 на домашнюю IP-камеру, которая умеет передавать видео по протоколу RTSP, можно будет подключиться к ней любым видеоплеером с поддержкой RTSP, вроде VLC;
проброс порта 3389 позволит задействовать службу RDP (Remote Desktop Protocol) в Windows для получения удаленного доступа к рабочему столу компьютера.
DDNS — зачем нужен и как настроить
Если IP-адрес постоянный, то его можно запомнить. Но если он меняется, запоминать его тяжело. Для решения этой проблемы предназначены службы динамического DNS. Вам будет достаточно запомнить определенное доменное имя.
Сервисы DDNS бывают платные и бесплатные, с разным набором возможностей и характеристик. Но пользоваться лучше теми, которые предусмотрел производитель роутера — когда внешний IP-адрес роутера поменяется, они с DDNS сами договорятся, без вашей помощи. Найдите вкладку «DDNS» или «Динамический DNS» в веб-интерфейсе вашего роутера. В пункте «сервис-провайдер» или «DDNS-сервис» вам будет предложен список из нескольких сервисов, можете выбрать любой. Многие производители роутеров имеют собственные DDNS-сервисы — довольно ограниченные в настройках, зато бесплатные. Это DLinkDDNS.com для роутеров D-Link, KeenDNS для роутеров Zyxel, «Облако ТР-Link» для роутеров TP-Link и т. п.
Определившись с будущим сервисом DDNS, нужно зайти на его сайт и создать аккаунт. Бесплатные DDNS-сервисы производителей роутеров могут потребовать ввести серийный номер устройства или как-то иначе подтвердить, что вы работаете с роутером их производства — у каждого производителя по-разному.
Далее вам предложат задать доменное имя для своего домашнего сервера — обычно это домен третьего уровня (то есть vash_vybor.DDNS-service.com). После этого уже можно вернуться в веб-интерфейс и настроить привязку созданного аккаунта к своему роутеру.
Удаленное управление роутером
Во всех прочих руководствах рекомендуется запрещать удаленное управление роутером. Но здесь желательно его разрешить — будет крайне обидно, если вы, например, при пробросе портов упустили какую-то мелочь и не можете из-за этого «достучаться» до сети, будучи в командировке или в отпуске. Удаленное управление роутером позволит внести необходимые исправления и получить доступ.
Разрешите «Удаленный доступ» в веб-интерфейсе и задайте правила удаленного доступа. Так, если вам известен постоянный IP-адрес компьютера, с которого вы будете производить настройку, его следует задать — это увеличит безопасность вашей сети.
Если же вы хотите получить возможность доступа к роутеру с любого устройства, подключенного к Интернету, это тоже можно сделать, но обязательно задайте сложный пароль на доступ к веб-интерфейсу — иначе ваша локальная сеть станет «легкой добычей» для хакеров.
VPN как крайний выход
Если провайдер выдает «серый» адрес и никак не желает давать «белый», даже за деньги, придется использовать VPN.
Обычно VPN-сервисы предоставляют выход в сеть через сервер в любой точке мира — Private Internet Access, TorGuard, CyberGhost VPN, Game Freedom и т. п. Бесплатных среди них нет, но для удаленного доступа к своему компьютеру или командных игр вам «внешний» сервер и не нужен. Достаточно создать «виртуальную сеть» из своего домашнего компьютера и, например, рабочего. Или ноутбука для поездок, с которого вы ходите получать доступ к домашней сети. Или всех компьютеров ваших игровых друзей. Достаточно выбрать какую-нибудь из бесплатных VPN-утилит, например, Hamachi, Remobo, NeoRouter и т. д. И запустить ее на всех компьютерах, которые нужно объединить.
Прелесть в том, что это можно сделать без настройки роутера, с самого «серого» адреса и под самым «злобным» файрволом. Можно соединить в сеть и больше двух компьютеров, хотя в бесплатных версиях их количество ограничено.
Кроме того, в Интернете существует множество открытых (без пароля) VPN, созданных специально для игр — вам остается только найти VPN вашей любимой игры, подключиться к ней с помощью одной из вышеупомянутых утилит — и играть. Чуть сложнее дело обстоит с играми, в которых требуется подключение к игровому серверу.
Существуют VPN-сети с запущенными серверами популярных игр, но пользователей на них в разы меньше, чем на открытых серверах. Кроме того, такие сервера есть не для всех игр. Сыграть в World of Tanks или World of Warcraft с помощью таких утилит не получится, придется раскошеливаться на полноценный VPN-сервис. Но об этом — в следующий раз.
Test-NetConnection: проверка открытых/закрытых TCP портов из PowerShell
В PowerShell 4.0 (Windows 2012 R2, Windows 8.1 и выше) появился встроенный командлет для проверки сетевых соединений — Test-NetConnection. С помощью данного командлета вы можете проверить доступность удаленного сервера или сетевой службы на нем, блокировку TCP портов файерволами, проверить доступность по ICMP и маршрутизацию. По сути, командлет Test-NetConnection
позволяет заменить сразу несколько привычных сетевых утилит: ping, traceroute, сканер TCP портов и т.д.
Любому администратору периодически приходится проверять доступность службы на удаленном сервере путем проверки ответа от удаленного TCP порта (например, доступность почтового или веб сервера). Причем, все привыкли, что такую проверку быстрее всего выполнить с помощью команды telnet. Например, для проверки доступности SMTP службы на почтовом сервере (по умолчанию он отвечает на 25 TCP порту) достаточно выполнить команду telnet msk-msg01.winitpro.ru 25
. Но начиная с Windows 7 клиент telnet выделен в отдельный компонент, который нужно устанавливать отдельно. Посмотрим, как выполнить аналогичное действие в PowerShell.
Основное преимущество командлета Test-NetConnection – он уже входит в состав всех современных версий Windows и вам не нужно устанавливать его отдельно. Командлет входит в состав модуля NetTCPIP (начиная с PoSh v4.0).
TCP Port Ping: Использование Test-NetConnection для проверки открытых портов и доступности серверов
Проверим, открыт ли порт TCP 25 (SMTP протокол) на почтовом сервере с помощью Test-NetConnection:
Test-NetConnection -ComputerName msk-msg01 -Port 25
Примечание. С помощью командлета Test-NetConnection можно проверить только TCP соединение, для проверки доступности UDP портов он не применим.
В сокращенном виде аналогичная команда выглядит так:
TNC msk-mail1 -Port 25
Разберем результат команды:
ComputerName : msk-msg01 RemoteAddress : 10.10.1.7 RemotePort : 25 InterfaceAlias : CORP SourceAddress : 10.10.1.70 PingSucceeded : True PingReplyDetails (RTT) : 0 ms TcpTestSucceeded : True
Как вы видите, командлет выполняет разрешение имени сервера в IP адрес, выполняется проверка ответа ICMP (аналог ping) и доступность TCP порта. Указанный сервер доступен по ICMP (PingSucceeded = True
) и 25 TCP порт также отвечает (RemotePort=25, TcpTestSucceeded= True
).
Примечание. В некоторых случаях может оказаться, что PingSucceeded=False, а TcpTestSucceeded= True. Скорее всего означает, что на удаленном сервере запрещен ICMP Ping.
У командлета есть специальный параметр –CommonTCPPort, позволяющий указать наименование известного сетевого протокола (HTTP, RDP, SMB, WINRM).
Например, чтобы проверить доступность веб-сервера, можно использовать команду:
Test-NetConnection -ComputerName winitpro.ru -CommonTCPPort HTTP
Или доступность RDP порта (3389):
Test-NetConnection msk-rds1 –CommonTCPPort RDP
Можно вывести все параметры, которые возвращает командлет Test-NetConnection:
Test-NetConnection msk-man01 -port 445|Format-List *
Если нужна только информация по доступности TCP порта, в более лаконичном виде проверка может быть выполнена так:
TNC msk-mail1 -Port 25 -InformationLevel Quiet
Командлет вернул True, значит удаленный порт доступен.
Совет. В предыдущих версиях PowerShell проверить доступность удаленного TCP порта можно так:
(New-Object System.Net.Sockets.TcpClient).Connect(‘msk-msg01’, 25)
В Windows 10/ Windows Server 2016 вы можете использовать командлет Test-NetConnection для трассировки маршрута до удаленного сервера при помощи параметра –TraceRoute (аналог tracert). С помощью параметра –Hops можно ограничить максимальное количество хопов при проверке.
Test-NetConnection msk-man01 –TraceRoute
Командлет вернул сетевую задержку при доступе к серверу в милисекундах (PingReplyDetails (RTT) : 41 ms
) и все IP адреса маршрутизаторов на пути до целевого сервера.
Test-NetConnection в скриптах мониторинга
Следующая команда позволить проверить доступность определенного порта на множестве серверов, список которых хранится в текстовом файле servers.txt. Нас интересуют сервера, где искомая служба не отвечает:
Get-Content c:\Distr\servers.txt | where { -NOT (Test-Netconnection $_ -Port 25 -InformationLevel Quiet)}| Format-Table –AutoSize
Аналогичным образом вы можете создать простейшую систему мониторинга, которая проверяет доступность серверов и выводит уведомление, если один из серверов недоступен.
Например, вы можете проверить доступность основных служб на всех контроллеров домена (список DC можно получить командлетом Get-ADDomainController). Проверим следующие службы на DC (в утилите PortQry есть аналогичное правило Domain and trusts):
- RPC – TCP/135
- LDAP – TCP/389
- LDAP – TCP/3268
- DNS – TCP/53
- Kerberos – TCP/88
- SMB – TCP/445
$Ports = "135","389","636","3268","53","88","445","3269", "80", "443"
$AllDCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
ForEach($DC in $AllDCs)
{
Foreach ($P in $Ports){
$check=Test-NetConnection $DC -Port $P -WarningAction SilentlyContinue
If ($check.tcpTestSucceeded -eq $true)
{Write-Host $DC.name $P -ForegroundColor Green -Separator " => "}
else
{Write-Host $DC.name $P -Separator " => " -ForegroundColor Red}
}
Скрипт проверит указанные TCP порты на контроллерах домена, и, если один из портов недоступен, выделит его красным цветом (с небольшими доработками можно запустить данный PowerShell скрипт как службу Windows).
Сканер сети на PowerShell
Также вы можете реализовать простой сканер портов и IP подсетей для сканирования удаленных серверов или подсетей на открытые/закрытые TCP порты.
Просканируем диапазон IP адресов на открытый порт 3389:
foreach ($ip in 5..30) {Test-NetConnection -Port 3389 -InformationLevel "Detailed" 10.10.10.$ip}
Просканируем диапазон TCP портов от 1 до 1024 на указанном сервере:
foreach ($port in 1..1024) {If (($a=Test-NetConnection srvfs01 -Port $port -WarningAction SilentlyContinue).tcpTestSucceeded -eq $true){ "TCP port $port is open!"}}
Проверка открытых портов | PortScaner.ru 🔎
PortScaner.ru Port Checker — это бесплатный онлайн инструмент, чтобы найти открытые порты в вашей системе или на удаленном сервере. Этот инструмент позволяет сканировать открытые порты, которые могут оказаться дырами в безопасности и послужить лазейкой для хакеров. Вы также можете проверить, работает ли перенаправление портов на вашем роутере или нет.
Что такое проверка открытых портов?
Этот инструмент полезен для проверки порта в маршрутизаторе открыт он или закрыть. Это онлайн инструмент безопасности проверки порта открыт или заблокирован в вашей системе брандмауэром.
Какие порты бывают?
Порты являются виртуальными путями, по которым информация передается от компьютера к компьютеру. Всего есть 65536 портов на выбор..
Порты 0 до 1023 — Самые известные номера портов. Наиболее популярные службы работающие на портах: база данных MS SQL (1433), почтовые услуги POP3 (110), IMAP (143), SMTP (25), веб-сервисы HTML (80).
Порты от 1024 до 49151 — зарезервированные порты; это означает, что они могут быть зарезервированные для конкретных протоколов программного обеспечения.
Порты 49152 по 65536 — динамические или частные порты; это означает, что они могут быть использованы кем угодно.
Что такое проброс портов? (Port Forwarding)
Переадресация портов (Port Forwarding) имеется специальная функция на маршрутизаторе которая позволяет передачу пакетов данных извне (из Интернета) к устройствам или компьютерам в вашей локальной сети (LAN). По умолчанию все порты на маршрутизаторе закрыты, чтобы предотвратить взлом компьютеров вашей локальной сети. Но когда вы используете службу для подключения через порт на маршрутизаторе вам нужно открыть его. Например: Yahoo! Messenger вам необходимо чтобы один из следующих портов был открытым: 5061, 443, 80.
Диагностика и логи | REG.RU
Telnet — это утилита, с помощью которой можно соединиться с удалённым портом любого компьютера и установить канал связи.
Важно: в Windows Vista и Windows 7/8/10 утилита telnet по умолчанию отключена. Вы можете установить утилиту по инструкции от Microsoft.
-
1.Нажмите Пуск или сочетание клавиш Win + R.
-
2.В поле поиска введите «cmd» и нажмите кнопку ОК.
-
3.В командной строке введите команду:
telnet имя_сервера номер_порта
или:
telnet IP_сервера номер_порта
-
1.Запустите терминал. Для этого в поисковой строке введите слово «Терминал» или нажмите комбинацию клавиш Ctrl+Alt+T.
-
2.Установите утилиту telnet:
sudo apt install telnet
-
3.В терминале введите команду:
telnet имя_сервера номер_порта
или:
telnet IP_сервера номер_порта
Если командная строка или терминал возвращает ошибку, то порт закрыт:
Если окно становится полностью пустым или на экране появляется приглашение сервера, порт открыт:
Ping — это утилита, с помощью которой можно проверить доступность сервера с компьютера. Опрашиваемому узлу отправляются эхо-запросы (ICMP-пакеты Echo Request). Если до узла дошёл запрос, в ответ он должен отправить ICMP-пакет с принятыми данными и эхо-ответ (Echo Reply).
Traceroute — это утилита, с помощью которой можно отследить путь запроса к серверу, а также проблемы, связанные с доступностью удалённого сервера. Утилита отправляет запрос узлу и последовательно опрашивает все маршрутизаторы на пути.
Если у вас кириллический домен
Кириллические домены необходимо вводить в формате Punycode. Для перевода домена в Punycode воспользуйтесь сервисом Whois. Введите имя вашего домена и нажмите Punycode-конвертация.
-
1.Нажмите Пуск или сочетание клавиш Win + R.
-
2.В поле поиска введите «cmd» и нажмите кнопку ОК.
-
3.В окне терминала введите нужную команду:
- ping —
ping имя_сайта
илиping IP_сервера
,
- traceroute —
tracert имя_сайта
илиtracert IP_сервера
.
- ping —
-
1.Запустите терминал. Для этого в поисковой строке введите слово «Терминал» или нажмите комбинацию клавиш Ctrl+Alt+T.
-
2.В открывшемся окне терминала введите нужную команду:
- ping —
ping имя_сайта
илиping IP_сервера
,
- traceroute —
traceroute имя_сайта
илиtraceroute IP_сервера
.
- ping —
-
1.Найдите в Spotlight утилиту Network Utility (Сетевая утилита) и запустите её.
-
2.В открывшейся программе выберите нужную вкладку:
- ping — на вкладке «Ping» введите имя домена или IP-адрес и нажмите кнопку Ping:
- traceroute — на вкладке «Traceroute» введите имя домена или IP-адрес и нажмите кнопку Trace:
Готово, мы рассмотрели, как пользоваться командой ping и как запустить tracert.
Результатом работы каждой из этих команд будет несколько строк в окне терминала. Результат команды ping покажет количество переданных и потерянных пакетов при обмене с узлом, а также время приёма и передачи. Результатом traceroute будет трассировка маршрута к узлу.
Вы можете скопировать полученный результат или прислать скриншот с результатом исполнения в службу поддержки.
MTR — программа, которая сочетает функционал команд traceroute и ping в одном инструменте. MTR проверяет соединение между локальной системой и указанным узлом (IP или доменом). Программа отправляет запрос к узлу, как команда ping, и показывает маршрут пакета, как traceroute.
Диагностика сети WinMTR:
-
1.
Скачайте дистрибутив WinMTR. -
2.Распакуйте архив и запустите программу от имени администратора:
-
3.Нажмите Options, в настройках отключите галочку Resolve names. Нажмите OK:
-
4.В поле «Host» введите ваше доменное имя или IP-адрес. Нажмите Start:
-
5.Когда число отправленных пакетов (колонка «Sent») будет более 200, нажмите Stop:
-
6.Нажмите Export TEXT и сохраните результат работы программы:
Результат работы содержит:
- Hostname — IP-адрес или домен узла. Значение «No response from host» говорит о блокировке ICMP-пакетов в узле;
- Loss % — процент потерянных ответов от данного узла. Например, при «No response from host» процент потерь равен 100 — значит, маршрутизатор не ответил на ICMP-запрос;
- Sent — количество отправленных запросов узлу;
- Recv — количество полученных ответов от узла;
- Best — наименьшее время задержки, мс;
- Avrg — среднее время задержки, мс;
- Worst — наибольшее время задержки, мс;
- Last — время задержки последнего полученного пакета, мс.
На Linux утилита MTR установлена по умолчанию.
-
1.Запустите терминал. Для этого в поисковой строке введите слово «Терминал» или нажмите комбинацию клавиш Ctrl+Alt+T.
-
2.Если утилита MTR не установлена, введите команды:
- для Ubuntu/Debian:
sudo apt install mtr
- для CentOS:
sudo yum install mtr
- для Fedora:
sudo dnf install mtr
- для Ubuntu/Debian:
-
3.Введите команду:
mtr -n -c 300 -r 123.123.123.123
Где 123.123.123.123 — IP-адрес вашего сайта.
-
4.Дождитесь окончания выполнения запроса. В окне терминала вы увидите результат работы утилиты MTR:
Результат работы содержит:
- HOST — IP-адрес или домен узла. Значение «???» говорит о блокировке ICMP-пакетов в узле;
- Loss% — процент потерянных ответов от данного узла. Например, при «???» процент потерь равен 100 — значит, маршрутизатор не ответил на ICMP-запрос;
- Snt — количество отправленных запросов узлу;
- Last — время задержки последнего полученного пакета, мс;
- Avg — среднее время задержки, мс;
- Best — наименьшее время задержки, мс;
- Wrst — наибольшее время задержки, мс;
- StDev — среднеквадратичное отклонение времени задержки, мс.
Если вы обнаружили потери на промежуточных узлах, проблемы нет. Промежуточные маршрутизаторы могут не отвечать на ICMP-запросы, а просто пропускать дальше трафик. Если же потери обнаружены на конечном узле, отправьте результат работы программы в службу поддержки. В сообщении укажите ваш внешний IP-адрес. Узнать IP-адрес можно на сайте REG.RU.
Журналы сайтов расположены в корневой директории хостинга в папке logs. Логи хостинга можно просмотреть как через хостинг-панели управления, так и по FTP и SSH.
В панели управления хостингом
-
1.
Войдите в панель управления хостингом. -
2.Перейдите в Менеджер файлов, а затем в директорию logs:
-
3.Для просмотра журнала скачайте необходимый файл на локальный ПК. Для этого выделите строку с названием журнала и нажмите кнопку Скачать:
-
1.
Войдите в панель управления хостингом. -
2.В разделе «Файлы» нажмите Диспетчер файлов:
-
3.Кликните на папку logs:
-
4.Для просмотра журнала скачайте необходимый файл на локальный ПК. Для этого выделите строку с названием журнала и нажмите кнопку Скачать:
-
1.
Войдите в панель управления хостингом. -
2.Перейдите во вкладку «Файлы», а затем в директорию logs:
-
3.Для просмотра журнала скачайте необходимый файл на локальный ПК. Для этого выделите строку с названием журнала и нажмите кнопку Скачать:
По FTP или SSH
Помогла ли вам статья?
290
раз уже
помогла
Как проверить пинг интернета через командную строку. Тестирование работы сети
Ping – это время отклика компьютера или сервера в локальной сети. Простым языком, ping позволяет определит как долго идет передача данных от вашего компьютера к другому по локальной сети.
Открываем командную строку
Для проверки связи с сетевым устройством (рабочей станцией, сервером и т.п.) необходимо открыть командную строку (найти ее можно в меню «Пуск»->Все программы->Стандартные). Либо нажимаем сочетание клавиш Win+R и вводим CMD
Как проверить пинг до сервера через командную строку
В командной строке введите команду:
ping IP_адрес (например, ping 192.168.1.1)
В итоге вы увидите процесс опроса устройства по заданному IP-адресу. Если время обмена пакетами составляет несколько миллисекунд, то сеть работает нормально. Однако, при появлении ошибок связи с устройством следует искать неисправность.
Для начала следует выполнить проверку связи с локальным IP-адресом, выполнив команду: ping 127.1.1.0, где 127.1.1.0 – это локальный адрес собственного компьютера.
Если все в порядке, следует проверить другие известные устройства в сети, а также IP-адрес шлюза сети. Таким образом, вы постепенно исключите устройства на пути к «тестируемому» компьютеру.
Как проверить пинг интернет соединения
Для пинга интернет соединения вводим в командную строку либо адрес сайта, либо его ip: ping site.ru. Например, для пинга сайта Яндекса нужно ввести команду ping yandex.ru
Изучаем цифры потерянных пакетов, в идеале они должны стремиться к нулю. Вместо yandex.ru можно вводить любой сайт, или IP адрес. Если есть ответ от сервера — значит сайт и интернет у вас работают.
Дополнительные агрунементы для пинга
Команду PING можно задавать с дополнительными аргументами, которые позволят вам более тонко настроить тест. Например, команда ping –t IP_адрес будет производить «пингование» до тех пор, пока пользователь не остановит тест.
Полный список доступных аргументов и их значения можно посмотреть, введя в командной строке команду: ping /?
Видео инструкция
Не пропусти самое интересное!
Подписывайтесь на нас в Facebook и Вконтакте!
PING — сетевая диагностика на IP-уровне
Команда PING это, пожалуй, самая используемая сетевая утилита командной строки. PING присутствует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.
Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке ICMP-сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в ICMP-заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.
Формат командной строки:
ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя
Параметры:
-t — Непрерывная отправка пакетов.
Для завершения и вывода статистики используются комбинации клавиш
Ctrl + Break (вывод статистики и продолжение), и Ctrl + C (вывод статистики и завершение).
-a — Определение адресов по именам узлов.
-n число — Число отправляемых эхо-запросов.
-l размер — Размер поля данных в байтах отправляемого запроса.
-f — Установка флага, запрещающего фрагментацию пакета.
-i TTL — Задание срока жизни пакета (поле «Time To Live»).
-v TOS — Задание типа службы (поле «Type Of Service»).
-r число — Запись маршрута для указанного числа переходов.
-s число — Штамп времени для указанного числа переходов.
-j списокУзлов — Свободный выбор маршрута по списку узлов.
-k списокУзлов — Жесткий выбор маршрута по списку узлов.
-w таймаут — Максимальное время ожидания каждого ответа в миллисекундах.
Примеры использования:
ping google.com — эхо-запрос к узлу с именем google.com с параметрами по умолчанию — количество пакетов равно 4, длина массива данных = 32 байта.
ping -6 ya.ru — пинг узла ya.ru с использованием протокола Ipv6
ping -a 192.168.1.50 — выполнить пинг с определением имени конесного узла по его адресу.
ping -s 192.168.0.1 computer — пинг узла computer от источника 192.168.0.1. Используется когда на компьютере имеется несколько сетевых интерфейсов.
ping w 5000 ya.ru — пинг с таймаутом ожидания равным 5 секунд ( по умолчанию — 4 сек).
ping -n 5000 -l 1000 ab57.ru — опрос узла ab57.ru 5000 раз, пакетами с данными длиной в 1000байт. Допустимая максимальная длина данных — 65500.
ping -n 1 -l 3000 -f ya.ru — пинг с запретом фрагментации пакета.
ping -n 1-r 3 ya.ru — отправить 1 эхо-запрос на узел ya.ru с отображением первых 3-х переходов по маршруту.
ping -i 5 ya.ru — пинг с указанием времени жизни TTL=5. Если для достижения конечного узла потребуется большее количество переходов по маршруту, то маршрутизатор, прервавший доставку ответит сообщением ”Превышен срок жизни (TTL) при передаче пакета.”
Обобщенная схема соединения компьютера (планшета, ноутбука домашней сети) с удаленным конечным узлом можно представить следующим образом:
В качестве домашней сети используется наиболее распространенная сеть с IP-адресами 192.168.1.0 /255.255.255.0 . Речь идет об IPv4 – IP протоколе версии 4, где для адресации используется 4 байта. IP- адреса принято представлять в виде десятичных значений байтов, разделяемых точками. Каждое устройство в сети должно иметь свой уникальный адрес. Кроме адреса, в сетевых настройках используется маска сети ( маска подсети). Маска имеет такой же формат представления, как и адрес. Комбинация адреса и маски определяет диапазон адресов, которые принадлежат локальной сети — 192.168.1.0-192.168.1.255. Первый и последний адреса диапазона не назначаются отдельным сетевым устройствам, поскольку используются в качестве адреса сети и широковещательного адреса. Обычно адрес роутера делают равным 192.168.1.1 или 192.168.1.254. Это не является обязательным стандартом, но на практике используется довольно часто. Единичные биты маски определяют постоянную часть IP-адреса сети, а нулевые — выделяемые отдельным узлам. Значение 255 — это байт с установленными в единицу битами. Маска сети служит средством определения диапазона IP-адресов, принадлежащих локальной сети. Устройства с такими адресами достижимы локально, без использования маршрутизации. Маршрутизация — это способ обмена данными с сетевыми устройствами не принадлежащими к данной локальной сети через специальное устройство — маршрутизатор ( router, роутер ). Маршрутизаторы представляют собой специализированные компьютеры с несколькими сетевыми интерфейсами и специализированным программным обеспечением обеспечивающим пересылку IP-пакетов между отправителем и получателем, находящимися в разных сетях. В такой пересылке могут участвовать несколько маршрутизаторов, в зависимости от сложности маршрута. Домашний роутер — простейшая разновидность маршрутизатора, который обеспечивает пересылку пакетов, адресованных во внешние сети следующему по маршруту маршрутизатору в сети провайдера. Следующий маршрутизатор проверяет достижимость адреса конечного узла локально, и либо пересылает ему данные, либо передает их следующему маршрутизатору в соответствии с таблицей маршрутов. Так происходит до тех пор, пока данные не достигнут получателя или закончится время жизни пакета.
Команда PING можно использовать для диагностики отдельных узлов:
ping 127.0.0.1 — это пинг петлевого интерфейса. Должен выполняться без ошибок, если установлены и находятся в работоспособном состоянии сетевые программные компоненты.
ping свой IP или имя — пинг на собственный адрес или имя. Должен завершаться без ошибок, если установлены все программные средства протокола IP и исправен сетевой адаптер.
ping IP-адрес роутера — должен выполняться, если исправна сетевая карта компьютера, исправен кабель или беспроводное соединение, используемые для подключения к роутеру и исправен сам роутер. Кроме того, настройки IP должны быть такими, чтобы адрес компьютера и роутера принадлежали одной подсети. Обычно это так, когда сетевые настройки выполняются автоматически средствами DHCP-сервера маршрутизатора.
ping yandex.ru — выполнить опрос узла с именем yandex.ru. Если опрос завершается с ошибкой, то причиной может быть не только отсутствие связи с маршрутизатором провайдера, но и невозможность определения адреса узла yandex.ru из-за проблем с программными средствами разрешения имен.
ping 8.8.8.8 — выполнить опрос узла с IP-адресом 8.8.8.8 . Если опрос по адресу выполняется без ошибок, а опрос по имени завершается сообщением о неизвестном узле, то проблема в разрешении имен. Причиной может быть неработоспособность DNS-сервера провайдера. В этом случае, можно попробовать сменить его в настройках сетевого соединения на публичные DNS сервера Google с адресами 8.8.4.4 и 8.8.8.8. Также, проблема может быть вызвана плохим качеством связи с провайдером, что сопровождается слишком большим временем отклика и пропаданием пакетов.
ping -t yandex.ru — выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break — выдается статистика и
опрос узла продолжается.
ping -n 1000 -l 500 192.168.1.1 — выполнить ping 1000 раз с использованием сообщений, длиной 500 байт. Пинг пакетами стандартной длины в 32 байта может выполняться без ошибок, а на длинных — с ошибками, что характерно для беспроводных соединения при низком уровне сигнала в условиях интенсивных помех.
ping -n 1 -r 9 -w 1000 yandex.ru — выполнить ping 1 раз (ключ -n 1), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)
В результате выполнения данной команды отображается и трассировка маршрута:
Обмен пакетами с yandex.ru [87.250.251.11] с 32 байтами данных:
Ответ от 87.250.251.11: число байт=32 время=36мс TTL=54
Маршрут: 81.56.118.62 ->
81.56.112.1 ->
10.109.11.9 ->
10.109.11.10 ->
195.34.59.105 ->
195.34.52.213 ->
195.34.49.121 ->
195.34.52.213 ->
87.250.239.23
Статистика Ping для 87.250.251.11:
Пакетов: отправлено = 1, получено = 1, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 36мсек, Максимальное = 36 мсек, Среднее = 36 мсек
В данном примере, между отправителе и получателем пакетов выстраивается цепочка из 9 маршрутизаторов. Нужно учитывать тот факт, что в версии утилиты ping.exe для Windows, число переходов может принимать значение от 1 до 9. В случаях, когда этого значения недостаточно, используется команда tracert
Отсутствие эхо-ответа не всегда является признаком неисправности, поскольку иногда по соображениям безопасности, некоторые узлы настраиваются на игнорирование эхо-запросов, посылаемых PING. Примером может служить узел microsoft.com и некоторые маршрутизаторы в сетях небольших провайдеров.
Использование PING в командных файлах.
Нередко, команда PING используется для организации задержек в командных файлах. Выполняется пингование петлевого интерфейса с указанием нужного значения счетчика пакетов, задаваемого параметром -n. Посылка эхо-запросов выполняется с интервалом в 1 секунду, а ответ на петлевом интерфейсе приходит практически мгновенно, поэтому задержка будет приблизительно равна счетчику минус единица:
ping -n 11 127.0.0.1 — задержка в 10 секунд.
Команда PING используется в командных файлах для определения доступности IP-адресов. Поскольку, результат опроса никак не отражается в переменной ERRORLEVEL , то вместо ее анализа
используется поиск определенных признаков в данных стандартного вывода PING. Если внимательно посмотреть на сообщения программы ping.exe при опросе доступного и недоступного узла, то можно заметить, что они значительно отличаются
ping 456.0.0.1 — ping на несуществующий адрес
Ответ на такую команду может отличаться от конкретной версии утилиты, и
может быть приблизительно таким
При проверке связи не удалось обнаружить узел 456.0.0.1. Проверьте имя узла и повторите попытку.
ping yandex.ru — ping на адрес узла yandex.ru
Ответ на ping доступного узла:
Обмен пакетами с yandex.ru [87.250.250.11] по 32 байт:
Ответ от 87.250.250.11: число байт=32 время=10мс TTL=55
Таким образом, для решения задачи определения доступности узла в командном файле, достаточно проанализировать характерные слова в выводе ping.exe при успешном ответе. Наиболее характерно в данном случае наличие слова TTL. Оно никогда не встречается при возникновении ошибки и состоит всего лишь из символов английского алфавита.
Для поиска «TTL» в результатах ping.exe удобнее всего объединить ее выполнение в цепочку с командой поиска строки символов FIND.EXE (конвейер ping и find). Если текст найден командой FIND, то значение переменной ERRORLEVEL будет равно 0
ping -n 1 COMPUTER | find /I «TTL» > nul
if %ERRORLEVEL%==0 goto LIVE
ECHO computer недоступен
подпрограмма обработки недоступного состояния
…
Exit
:LIVE — начало подпрограммы обработки состояния доступности узла
…
…
В более простом варианте можно использовать команды:
PING yandex.ru |find «TTL=» && ECHO Yandex pingable — команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND равно 0, т.е узел yandex.ru отвечает на ping.
PING Server64 |find «TTL=» || ECHO Server64 not pingable — команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND не равно 0, т.е. узел Server64 не ответил на ping.
Весь список команд CMD Windows
Как проверить связь с номером сетевого порта (TCP), чтобы убедиться, что он открыт.
В этой статье я опишу несколько способов проверить по сети, открыт ли удаленный TCP-порт на хосте или нет. Это популярный метод устранения неполадок, позволяющий определить, работает ли определенная служба или приложение на удаленном сервере или компьютере.
Как вы, возможно, уже знаете, когда приложение или служба работает на узле, с ним связан определенный порт TCP или UDP для связи по сети TCP / IP (т.е.e, чтобы служба могла отправлять и получать пакеты TCP / IP по сети).
Например, некоторые популярные (хорошо известные) службы используют следующие порты TCP:
- Веб-служба : порты 80 (HTTP), 443 (HTTP)
- Служба удаленного рабочего стола Windows : порт 3389
- Secure Shell (SSH) : Порт 22
- Протокол передачи файлов (FTP) : Порты 20,21
- Telnet : Порт 23
- Простой протокол передачи почты (SMTP) : Порт 25
- Протокол почтового отделения (POP3) : Порт 110
Если вы хотите устранить проблемы с подключением с локального компьютера / сервера к удаленному хосту, лучше начать работу с нижних уровней OSI и продвигаться дальше, чтобы выявить проблему. .
Например, предположим, что удаленный веб-сервер не отвечает на HTTP-запросы (т.е. вы запустили свой браузер и посетили удаленный URL без ответа).
Прежде всего нужно проверить, открыт ли TCP-порт 80 или 443 удаленного веб-сервера и доступен ли он с вашей стороны.
Если вы попытаетесь «пропинговать» удаленные порты (то есть попытаетесь установить связь с портами) и не получите ответа, это означает, что проблема в сети между вашим концом и сервером (возможно, проблема межсетевого экрана, сетевая маршрутизация проблема и т. д.).
3 способа «эхо-запроса» удаленного порта
Чтобы быть точным, термин «эхо-запрос удаленного порта» на самом деле не является допустимым утверждением. Протокол «Ping» фактически использует пакеты ICMP (эхо, эхо-ответ и т. Д.), Чтобы определить, является ли удаленный хост «живым» (то есть подключен к сети и отвечает на пакеты ICMP).
Протокол ping не отправляет TCP-пакеты на удаленный хост для идентификации открытых портов.
В этой статье я просто использую термин « ping the port » в контексте « poking the port », чтобы проверить, открыт ли он (прослушивает) или нет.
Давайте рассмотрим три способа проверить, открыт ли порт:
Использование Telnet
Telnet — популярный (и очень старый и небезопасный) протокол для удаленного подключения к системам (например, к сетевым устройствам, машинам Linux и т. Д.) ).
Он берет свое начало еще в 1969 году (с того времени, когда зародился Интернет) и предоставляет текстовый (командная строка) терминал для взаимодействия с удаленными системами.
По умолчанию протокол telnet использует порт 23 для подключения к удаленной системе.Однако вы можете указать целевой (удаленный) порт, к которому хотите подключиться.
Пример:
telnet www.google.com 443 <- вы можете указать порт для telnet (443 в этом примере)
Как показано на t
.
Как проверить связь с номером порта
Большинство из нас знакомы с простой командой «ping» на основе ICMP, которая позволяет нам проверить базовый ответ от некоторых подключенных к сети устройств. Хотя он отлично подходит для базового устранения неполадок, он не позволяет нам подтвердить, отвечает ли конкретный хост на другом конце через порты TCP или UDP, где, вероятно, будет предоставляться большинство служб.
Ping — это еще не все и не завершение всего устранения неполадок в сети, если брандмауэр блокирует входящий трафик ICMP, то проверка связи не будет успешной, что может привести к ложному восприятию того, что узел не работает, поскольку он не отвечает на проверку связи, однако другие службы все еще могут отвечать нормально.
В качестве альтернативы, хотя ping может возвращаться нормально с ответом, он не указывает, отвечает ли веб-сервер на порт 80 на запросы HTTP, возможно, веб-сервер вышел из строя и больше не отвечает.
Итак, если ping основан на ICMP, можем ли мы вместо этого обратиться к TCP или UDP-порту для ответа? Ответ — да, давайте посмотрим.
Введите tcping
tcping — один из таких инструментов, который можно использовать для проверки ответа порта TCP. Доступно несколько версий, но я использую эту: http: // www.elifulkerson.com/projects/tcping.php
Руководство находится на той же странице, в основном вы можете выполнить команду, подобную приведенной ниже.
C: \ Users \ Admin \ Desktop> tcping.exe google.com 443 Проверка 150.101.161.230:443/tcp - Порт открыт - время = 2.203 мс Проверка 150.101.161.230:443/tcp - Порт открыт - время = 1,426 мс Проверка 150.101.161.230:443/tcp - Порт открыт - время = 1,764 мс Проверка 150.101.161.230:443/tcp - Порт открыт - время = 1,393 мс Статистика пинга для 150.101.161.230:443 Отправлено 4 зонда.4 успешных, 0 неудачных. Приблизительное время поездки в миллисекундах: Минимум = 1,393 мс, максимум = 2,203 мс, средний = 1,697 мс
Здесь мы используем tcping для проверки порта 443 на google.com. Как можно видеть, порт отображается как открытый и отвечает, если порт не открыт, по умолчанию он будет отображаться как отсутствие ответа через 2000 мс.
Вы также можете использовать telnet для проверки TCP-подключения к порту, однако инструмент tcping предоставляет дополнительные функции, как описано в разделе использования здесь.Некоторые из таких функций включают в себя возможность непрерывного запуска теста, позволяющую генерировать трафик, на который вы можете следить при захвате пакетов в реальном времени, а также на время ответа.
А как насчет UDP?
Поскольку UDP является протоколом без установления соединения, определение того, отвечает ли он, немного отличается. «Ping» TCP работает, выполняя трехстороннее рукопожатие: источник отправляет SYN адресату, пункт назначения отвечает SYN-ACK, а затем источник отправляет ACK, завершая рукопожатие и устанавливая соединение.Поскольку UDP не устанавливает соединение, мы не можем просто искать это, чтобы определить, отвечает ли порт, вместо этого нам нужно отправить определенные данные и посмотреть, получим ли мы ответ.
NMAP — отличный инструмент для этого, вы можете загрузить его и использовать для сканирования портов адреса назначения, чтобы определить, какие порты открыты.
В этом примере мы запрашиваем, отвечает ли 8.8.8.8 на UDP-порт 53, поскольку он обслуживает DNS, мы ожидаем, что он будет открыт.
C: \ Users \ Admin \ Desktop \ nmap-6.47> нмп -sU -p 53 8.8.8.8 Отчет о сканировании Nmap для google-public-dns-a.google.com (8.8.8.8) Хост работает (задержка 0,0050 с). ПОРТОВАЯ ГОСУДАРСТВЕННАЯ СЛУЖБА 53 / udp open | отфильтрованный домен Выполнено Nmap: 1 IP-адрес (1 хост включен) просканирован за 5,31 секунды
Открытый | отфильтрованный результат используется, когда Nmap не может определить, открыт порт или отфильтрован, открытый порт может не дать ответа. Это показывает, что служба была определена как «домен», поскольку она предназначена для обслуживания DNS. Я протестировал это на некоторых других DNS-серверах в Интернете, и некоторые из них отображаются как открытые, только подтверждая, что они отвечают.
NMAP можно также использовать для проверки открытия порта TCP аналогичным образом, просто измените -sU на -sT.
Почему порт может не отвечать
Есть несколько простых причин, по которым порт может не отвечать на ваш тест.
- Межсетевой экран блокирует трафик: Между источником и пунктом назначения может быть запущен межсетевой экран, фильтрующий трафик в зависимости от действующих правил, даже если вы знаете, что пункт назначения должен отвечать на конкретный порт.
- Пункт назначения может не прослушивать порт: Проще говоря, пункт назначения, к которому вы пытаетесь подключиться, может не иметь каких-либо служб, прослушивающих указанный порт, поэтому ответа не будет. Это также может произойти, если служба была остановлена, например, если вы остановите Apache, веб-сервер больше не будет отвечать на запросы порта 80.
- Существует еще одна сетевая проблема между источником и получателем трафика: Может быть любое количество проблем с сетевым подключением между источником и получателем, если возможно, проверьте сеть, однако, если трафик проходит через Интернет, вы будете ограничено в том, что вы можете проверить.
Вы можете проверить подключение по пути трафика, запустив захват пакетов с помощью чего-то вроде Wireshark или tcpdump, это покажет вам, куда проходит трафик и где он останавливается на маршруте. Вы можете запустить его на исходном и целевом серверах, а также на промежуточных устройствах, к которым у вас есть доступ, например, на межсетевых экранах или маршрутизаторах. Следите за потоком трафика, пока не определите, в чем проблема.
Сводка
При выполнении TCP pingR
.Сеть
— Какие протоколы используются для PING?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.Объяснение сетевых зондов
: понимание сканирования портов и эхо-запросов
Практически любой системный администратор
большая сеть сообщит вам, что их сеть была исследована
перед. По мере того, как инструменты взлома становятся все более популярными и увеличиваются
число, эта тенденция, вероятно, сохранится. Хотя сетевые зонды
технически не являются вторжениями, их не следует принимать
слегка — они могут привести к реальным вторжениям в будущем. Как
Говорят, лучше перестраховаться, чем сожалеть. В этой статье я
объясните концепции, лежащие в основе двух общих сетевых зондов, а также
как они выполняются и что можно сделать для их обнаружения.
Наиболее распространенным типом сетевого зонда, вероятно, является порт
сканировать. Сканирование портов — это метод, используемый злоумышленниками для обнаружения
службы, запущенные на целевой машине. Затем злоумышленник может спланировать
атака на любой уязвимый сервис, который она обнаружит. Например, если
злоумышленник обнаруживает, что порт 143 (порт IMAP) открыт, он может
перейти к выяснению того, какая версия IMAP запущена на целевой машине
машина. Если версия уязвима, она может получить
доступ суперпользователя к машине с помощью «эксплойта» (программы
который использует брешь в безопасности).
Сканирование порта на самом деле выполнить очень просто. Все что у нас есть
нужно подключиться к серии портов на машине и найти
какие порты отвечают, а какие нет. Простой сканер портов может
быть написанным менее чем за 15 минут хорошим программистом на языке
например, Java или Perl. Однако такое сканирование портов легко
обнаруживается операционной системой целевой машины. Листинг 1
показывает следы, полученные в результате такого сканирования портов, в файле журнала
(обычно / var / log / messages ) в Linux.Обратите внимание, что серия подключений к различным службам произошла в
короткий промежуток в три секунды. Поскольку это так легко обнаружить,
большинство злоумышленников не будут запускать такое сканирование портов против
машина в наши дни.
Листинг 1
Другой, более хитрый, «скрытый» вид сканирования портов называется
«полуоткрытое» сканирование SYN. В этом сканировании сканер портов подключает
к порту, но отключает соединение прямо перед полным
соединение происходит (отсюда и название «полуоткрытый»). Поскольку полный
подключение никогда не происходило, операционная система целевой
машина обычно не регистрирует сканирование.Эта концепция будет понятнее
если вы знакомы с внутренней работой TCP / IP. В нормальном
TCP / IP-соединение, два устройства должны завершить трехсторонний
рукопожатие перед началом передачи. В «полуоткрытом» SYN
сканирования, трехстороннее рукопожатие никогда не завершается — сканер портов
определяет, открыт ли порт, по ответу от цели
машина.
Теперь, когда мы рассмотрели основные концепции сканирования портов,
давайте поговорим о самом популярном и мощном инструменте исследования сети
доступно сегодня — Nmap (Network Mapper).Nmap может
проведение обоих типов сканирования портов, о которых я уже говорил.
Он также может выполнять другие виды исследований — некоторые из
о котором я расскажу позже. В листинге 2 показано типичное сканирование Nmap против
машина.
Листинг 2
Теперь (вы можете подумать), если «скрытое» сканирование портов
возможно, как мы должны их обнаружить? Хорошая новость в том, что
такое сканирование портов можно обнаружить с помощью специальных инструментов. Солнечный дизайнер
разработал такой инструмент под названием scanlogd, который представляет собой демон
который работает в фоновом режиме и прослушивает сетевой интерфейс для
сканирование портов.Если обнаружено сканирование порта, scanlogd записывает одну строку
описание сканирования с использованием механизма системного журнала. В листинге 3 показан
сканирование обнаружено scanlogd.
Листинг 3
Существуют и другие инструменты, которые также могут обнаруживать сканирование портов.
Однако я не буду описывать их в этой статье. Если тебе интересно,
вы можете проверить раздел «Ресурсы» в конце этой статьи.
Вы можете, в частности, захотеть проверить tcplogd, настраиваемый
Детектор сканирования TCP-порта (можно указать, какие пакеты
log, избегайте флуда и указывайте с его помощью доверенные хосты).
Проверка связи — это еще один вид проверки сети. В пинге
развертки, злоумышленник отправляет набор из ICMP ECHO
пакетов в сеть машин (обычно указывается как диапазон
IP-адреса) и видит, какие отвечают. Весь смысл в этом
состоит в том, чтобы определить, какие машины живы, а какие нет. Это
немного похоже на то, чтобы в 3 часа ночи стучаться в двери соседей, чтобы узнать, кто
спит, а кто нет (ладно, не пытайтесь). Однажды злоумышленник
знает, какие машины живы, он может сосредоточиться на том, какие машины нужно
атаковать и работать оттуда.Обратите внимание, что есть законные причины
для выполнения ping-опросов в сети — сетевой администратор
может пытаться выяснить, какие машины работают в сети для
диагностические причины.
fping — это инструмент, который можно
используется для проверки связи. fping принимает список IP-адресов
и отправляет им ping-пакеты. В отличие от обычного пинга, fping отправляет один
ping-пакет на один IP-адрес, а затем сразу переходит к
следующий IP-адрес в циклическом режиме. В листинге 4 показан простой
Сценарий Perl, который используется для создания списка IP-адресов класса C
( 192.168.0.1 до 192.168.0.20 ,
в нашем примере). В листинге 5 показано, как можно использовать этот сценарий Perl.
в сочетании с fping, чтобы узнать, какие машины на этом IP
диапазон адресов жив в сети. -a
переключатель используется для отображения только тех машин, которые без него работают
(fping также покажет машины, которые недоступны).
Листинг 4
Листинг 5
Как и при сканировании портов, эхо-запросы обнаруживаются с помощью специальных
инструменты тоже. ippl — это IP
Регистратор протокола, который может регистрировать пакеты TCP, UDP и ICMP.это
похож на scanlogd, где он сидит в фоновом режиме и слушает
для пакетов. В листинге 6 показана строка в файле журнала,
демонстрирует, что пакет ping перехватывается ippl. Быть осторожен
при использовании ippl — если вы находитесь в загруженной сети Ethernet, вы
может обнаружить, что ваши файлы журнала ippl (обычно в
/ var / log / ippl / * ) может скорее заполниться
быстро.
Листинг 6
Существуют и другие инструменты обнаружения пинга, кроме
ippl — к сожалению, мне не удалось подробно их рассмотреть.Меня заинтересовало
pingd , который является пользователем
демон, обрабатывающий ICMP-трафик на уровне хоста. Один аккуратный
особенность pingd заключается в том, что он интегрируется с TCP Wrappers, что позволяет
вы можете указать, кто может пинговать вас, а кто нет, в TCP Wrappers ‘
файлы управления доступом (/etc/hosts.allow и /etc/hosts.deny).
Другие функции сетевого зонда
Сканирование портов и проверка связи — это лишь два из многих типов
сетевые зонды. Современные инструменты сетевого зондирования созрели
значительно. Их постоянное развитие и доступность означают
что системные администраторы увидят более интересные шаблоны проб
в будущем.
Чтобы изучить некоторые из этих других сетевых пробников, вернемся назад.
в Nmap. Nmap может выполнять сканирование ложных целей. Когда такое сканирование
происходит, вы увидите сканированные изображения с уникальных IP-адресов в вашей системе,
но вы не сможете выбрать, какой из них настоящий IP-адрес
который просканировал вас. Дело в том, чтобы запутать систему
администратор, конечно.
Помимо сканирования ложных целей, Nmap также имеет возможность удаленно
определить операционную систему, работающую на целевых машинах. Эта
выполняется с использованием метода, называемого отпечатками стека TCP / IP.Мы
уже видели это в листинге 2, где Nmap правильно
идентифицировал мою целевую машину как работающую под управлением Linux 2.1.122 — 2.2.14 (мой
машина фактически была под управлением 2.2.12). На момент написания
текущая версия Nmap (2.53) способна идентифицировать 465
разные версии операционных систем, роутеров и других устройств.
Такая способность полезна для злоумышленника, поскольку позволяет
злоумышленник, чтобы определить слабые места на машине, поскольку безопасность
дыры обычно зависят от операционной системы.
Если вас интересуют другие виды шаблонов датчиков, я
настоятельно рекомендую вам прочитать книгу Стивена Норткатта (см.
Ресурсы).Статьи Федора о сканировании портов и стеке TCP / IP
снятие отпечатков пальцев в журнале Phrack также
интересный.
Надеюсь, эта статья была вам полезна в
понимание двух общих сетевых зондов и того, как они могут быть
обнаружен. Однако безопасность, как всегда, — это непрерывный процесс.
Количество сетевых зондов будет расти, появляются новые дыры в безопасности
быть обнаруженным, и вы обязательно прочтете об этом в
новости почти каждый день. Всегда нужно быть в курсе последних событий. Для этого
Причина, я рекомендую вам подписаться на список рассылки по безопасности
(Настоятельно рекомендуется BUGTRAQ!) Или посетите группы новостей и
веб-сайты, связанные с безопасностью.
Ресурсы
.