По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В многоуровневой и/или модульной системе должен быть какой-то способ связать услуги или объекты на одном уровне с услугами и объектами на другом. Рисунок 1 иллюстрирует проблему. На рисунке 1 Как A, D и E могут определить IP-адрес, который они должны использовать для своих интерфейсов? Как D может обнаружить Media Access Control адрес (MAC), физический адрес или адрес протокола нижнего уровня, который он должен использовать для отправки пакетов на E? Как может client1.example, работающий на D, обнаружить IP-адрес, который он должен использовать для доступа к www.service1.example? Как D и E могут узнать, на какой адрес они должны отправлять трафик, если они не на одном и том же канале или в одном и том же сегменте? Каждая из этих проблем представляет собой отдельную часть interlayer discovery. Хотя эти проблемы могут показаться не связанными друг с другом, на самом деле они представляют собой один и тот же набор проблем с узким набором доступных решений на разных уровнях сети или стеках протоколов. В лекции будет рассмотрен ряд возможных решений этих проблем, включая примеры каждого решения. Основная причина, по которой проблемное пространство interlayer discovery кажется большим набором не связанных между собой проблем, а не одной проблемой, состоит в том, что оно распределено по множеству различных уровней; каждый набор уровней в стеке сетевых протоколов должен иметь возможность обнаруживать, какая услуга или объект на «этом» уровне относится к какой услуге или объекту на каком-либо более низком уровне. Другой способ описать этот набор проблем - это возможность сопоставить идентификатор на одном уровне с идентификатором на другом уровне - сопоставление идентификаторов. Поскольку в наиболее широко применяемых стеках протоколов есть по крайней мере три пары протоколов , необходимо развернуть широкий спектр решений для решения одного и того же набора проблем межуровневого обнаружения в разных местах. Два определения будут полезны для понимания диапазона решений и фактически развернутых протоколов и систем в этой области: Идентификатор - это набор цифр или букв (например, строка), которые однозначно идентифицируют объект. Устройство, реальное или виртуальное, которое с точки зрения сети кажется единым местом назначения, будет называться объектом при рассмотрении общих проблем и решений, а также хостами или услугами при рассмотрении конкретных решений. Есть четыре различных способа решить проблемы обнаружения interlayer discovery и адресации: Использование известных и/или настроенных вручную идентификаторов Хранение информации в базе данных сопоставления, к которой службы могут получить доступ для сопоставления различных типов идентификаторов. Объявление сопоставления между двумя идентификаторами в протоколе Вычисление одного вида идентификатора из другого Эти решения относятся не только к обнаружению, но и к присвоению идентификатора. Когда хост подключается к сети или служба запускается, он должен каким-то образом определить, как он должен идентифицировать себя - например, какой адрес Интернет-протокола версии 6 (IPv6) он должен использовать при подключении к локальной сети. Доступные решения этой проблемы - это те же четыре решения. Хорошо известные и/или настраиваемые вручную идентификаторы Выбор решения часто зависит от объема идентификаторов, количества идентификаторов, которые необходимо назначить, и скорости изменения идентификаторов. Если: Идентификаторы широко используются, особенно в реализациях протоколов, и сеть просто не будет работать без согласования межуровневых сопоставлений и ... Количество сопоставлений между идентификаторами относительно невелико, и ... Идентификаторы, как правило, стабильны - в частности, они никогда не изменяются таким образом, чтобы существующие развернутые реализации были изменены, чтобы сеть могла продолжать функционировать, а затем ... Самым простым решением является ведение какой-либо таблицы сопоставления вручную. Например, протокол управления передачей (TCP) поддерживает ряд транспортных протоколов более высокого уровня. Проблема соотнесения отдельных переносимых протоколов с номерами портов является глобальной проблемой межуровневого обнаружения: каждая реализация TCP, развернутая в реальной сети, должна иметь возможность согласовать, какие службы доступны на определенных номерах портов, чтобы сеть могла «работать». Однако диапазон межуровневых сопоставлений очень невелик, несколько тысяч номеров портов необходимо сопоставить службам, и довольно статичен (новые протоколы или службы добавляются не часто). Таким образом, эту конкретную проблему легко решить с помощью таблицы сопоставления, управляемой вручную. Таблица сопоставления для номеров портов TCP поддерживается Internet Assigned Numbers Authority (IANA) по указанию Engineering Task Force (IETF); Часть этой таблицы показана на рисунке 2. На рисунке 2 службе echo назначен порт 7; эта служба используется для обеспечения функциональности ping. База данных и протокол сопоставления Если число записей в таблице становится достаточно большим, число людей, участвующих в обслуживании таблицы, становится достаточно большим или информация достаточно динамична, чтобы ее нужно было изучать во время сопоставления, а не при развертывании программного обеспечения, имеет смысл создавать и распространять базу данных динамически. Такая система должна включать протоколы синхронизации разделов базы данных для представления согласованного представления внешним запросам, а также протоколы, которые хосты и службы могут использовать для запроса базы данных с одним идентификатором, чтобы обнаружить соответствующий идентификатор из другого уровня сети. Базы данных динамического сопоставления могут принимать входные данные с помощью ручной настройки или автоматизированных процессов (таких как процесс обнаружения, который собирает информацию о состоянии сети и сохраняет полученную информацию в динамической базе данных). Они также могут быть распределенными, что означает, что копии или части базы данных хранятся на нескольких различных хостах или серверах, или централизованными, что означает, что база данных хранится на небольшом количестве хостов или серверов. Система доменных имен (DNS) описывается как пример службы сопоставления идентификаторов, основанной на динамической распределенной базе данных. Протокол динамической конфигурации хоста (DHCP) описан в качестве примера аналогичной системы, используемой в основном для назначения адресов. Сопоставления идентификаторов объявления в протоколе Если объем проблемы сопоставления может быть ограничен, но количество пар идентификаторов велико или может быстро меняться, то создание единого протокола, который позволяет объектам запрашивать информацию сопоставления напрямую от устройства, может быть оптимальным решением. Например, на рисунке 1 D может напрямую спросить E, какой у него локальный MAC-адрес (или физический). Интернет протокол IPv4 Address Resolution Protocol (ARP) является хорошим примером такого рода решений, как и протокол IPv6 Neighbor Discovery (ND). Вычисление одного идентификатора из другого В некоторых случаях можно вычислить адрес или идентификатор на одном уровне из адреса или идентификатора на другом уровне. Немногие системы используют этот метод для сопоставления адресов; большинство систем, использующих этот метод, делают это для того, чтобы назначить адрес. Одним из примеров такого типа систем является Stateless Address Autoconfiguration (SLAAC), протокол IPv6, который хосты могут использовать для определения того, какой IPv6-адрес должен быть назначен интерфейсу. Другим примером использования адреса нижнего уровня для вычисления адреса верхнего уровня является формирование адресов конечных систем в наборе протоколов International Organization for Standardization (ISO), таких как Intermediate System to Intermediate System (IS-IS).
img
Команда ping - это сетевой инструмент для проверки работоспособности удаленной системы. Другими словами, команда определяет, доступен ли определенный IP-адрес или хост. Ping использует протокол сетевого уровня, называемый Internet Control Message Protocol (ICMP), и доступен во всех операционных системах. С другой стороны, номера портов принадлежат протоколам транспортного уровня, таким как TCP и UDP. Номера портов помогают определить, куда пересылается Интернет или другое сетевое сообщение, когда оно приходит. В этом руководстве вы узнаете, как проверить связь с портом в Windows и Linux с помощью различных инструментов. Можно ли пропинговать конкретный порт? Сетевые устройства используют протокол ICMP для отправки сообщений об ошибках и информации о том, успешна ли связь с IP-адресом. ICMP отличается от транспортных протоколов, поскольку ICMP не используется для обмена данными между системами. Ping использует пакеты ICMP, а ICMP не использует номера портов, что означает, что порт не может быть опрошен. Однако мы можем использовать ping с аналогичным намерением - чтобы проверить, открыт порт или нет. Некоторые сетевые инструменты и утилиты могут имитировать попытку установить соединение с определенным портом и ждать ответа от целевого хоста. Если есть ответ, целевой порт открыт. В противном случае целевой порт закрывается или хост не может принять соединение, потому что нет службы, настроенной для прослушивания подключений на этом порту. Как пропинговать определенный порт в Linux? Вы можете использовать три инструмента для проверки связи порта в Linux: Telnet Netcat (NC) Network Mapper (nmap) Пинг определенного порта с помощью Telnet Telnet - это протокол, используемый для интерактивной связи с целевым хостом через соединение виртуального терминала. 1. Чтобы проверить, установлен ли уже telnet, откройте окно терминала и введите: telnet 2. Если telnet не установлен, установите его с помощью следующей команды Для CentOS/Fedora: yum -y install telnet Для Ubuntu: sudo apt install telnet 3. Чтобы пропинговать порт с помощью telnet, введите в терминале следующую команду: telnet [address] [port_number] Где [address] - это домен или IP-адрес хоста, а [port_number] - это порт, который вы хотите проверить. telnet google.com 443 Если порт открыт, telnet устанавливает соединение. В противном случае он указывает на сбой. 4. Чтобы выйти из telnet, нажмите Ctrl +] и введите q. Пинг определенного порта с помощью Netcat Netcat (nc) позволяет устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. Этот инструмент командной строки может выполнять множество сетевых операций. 1. Чтобы проверить, установлен ли netcat: Для Debian, Ubuntu и Mint: введите netcat -h Для Fedora, Red Hat Enterprise Linux и CentOS: ncat -h 2. Если netcat не установлен, выполните в терминале следующую команду: sudo apt install netcat 3. Чтобы пропинговать порт с помощью netcat, введите следующее: nc -vz [address] [port_number] Выходные данные информируют пользователя об успешном подключении к указанному порту. В случае успеха - порт открыт. Пинг определенного порта с помощью Nmap Nmap - это сетевой инструмент, используемый для сканирования уязвимостей и обнаружения сети. Утилита также полезна для поиска открытых портов и обнаружения угроз безопасности. 1. Убедитесь, что у вас установлен Nmap, введя nmap -version в терминал. Если Nmap установлен, вывод информирует пользователя о версии приложения и платформе, на которой он работает. 2. Если в вашей системе нет Nmap, введите следующую команду: Для CentOS или RHEL Linux: sudo yum install nmap Для Ubuntu или Debian Linux: sudo apt install nmap 3. После установки Nmap в системе используйте следующую команду для проверки связи определенного порта: nmap -p [port_number] [address] Выходные данные информируют пользователя о состоянии порта и типе службы, задержке и времени, прошедшем до завершения задачи. 4. Чтобы проверить связь с более чем одним портом, введите nmap -p [number-range] [address]. Синтаксис [number-range]- это диапазон номеров портов, которые вы хотите пропинговать, разделенные дефисом. Например: nmap -p 88-93 google.com Как пропинговать определенный порт в Windows? Проверить связь с портом в Windows можно двумя способами: Telnet PowerShell Пинг определенного порта с помощью Telnet Перед использованием telnet убедитесь, что он активирован: Откройте панель управления. Щелкните «Программы», а затем «Программы и компоненты». Выберите «Включение или отключение компонентов Windows». Найдите клиент Telnet и установите флажок. Щелкните ОК. Готово! Вы активировали клиент Telnet в системе. После завершения активации можно пропинговать порт с помощью telnet. Для этого: 1. Введите cmd в поиске в меню «Пуск». Щелкните на приложение Командная строка. 2. В окне командной строки введите telnet [address] [port_number] Где [address] - это домен или IP-адрес хоста, а [port_number] - это порт, который вы хотите проверить. Выходные данные позволяют узнать, открыт ли порт и доступен ли он, иначе отображается сообщение об ошибке подключения. Пинг определенного порта с помощью PowerShell PowerShell - это текстовая оболочка, которая по умолчанию поставляется с Windows. Чтобы проверить связь с портом с помощью PowerShell, выполните следующие действия: 1. Введите PowerShell в поиске в меню «Пуск». Щелкните приложение Windows PowerShell. 2. В окне командной строке PowerShell введите: Test-NetConnection [address] -p [port_number] Если порт открыт и соединение прошло успешно, проверка TCP прошла успешно. В противном случае появится предупреждающее сообщение о том, что TCP-соединение не удалось. Заключение Теперь вы знаете, как выполнить эхо-запрос и проверить, открыт ли порт, с помощью нескольких сетевых инструментов и утилит в Linux и Windows.
img
Дело в том, что если вы не используете какие либо сетевые сервисы (такие как NFS доступ, например) на своем Linux сервере, то скорее всего portmapper вам не нужен. А чтобы окончательно уверить вас в том, чтобы выключить службу, вот вам факт: злоумышленники юзают сервис portmapper для увеличения эффекта DDoS-атак. А теперь о том, как проверить portmapper на вашем сервере и отключить его. Коротко о том, что делает portmapper Портмаппер это специальный сервис в Linux, который обеспечивает службы RPC (Remote Procedure Call), такие как NFS - служба, например. Кстати говоря, portmapper обитатет на 111 порту (TCP и UDP). RPC (Remote Procedure Call) - так называемый удаленный вызов процедур. Если кратко, это технология, позволяющая определенному софту вызывать функции и процедуры на других сетевых машинах Как посмотреть RPC службы Легко. Вы можете посмотреть список активных RPC - служб с помощью команды rpcinfo. Вот так: [root@merionet ~]# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper У нас запущен только сам portmapper. Переходим к экзекуции. Остановить portmapper in CentOS 7 Сервис, отвечающий за portmapper как правило называется rpcbind. Останавливаем службу и сокет, как показано ниже: [root@merionet ~]# systemctl stop rpcbind Warning: Stopping rpcbind.service, but it can still be activated by: rpcbind.socket [root@merionet ~]# systemctl stop rpcbind.socket Полностью выключаем portmapper, даже после перезагрузки Убедимся, что сервис тоже выключен: [root@merionet ~]# systemctl disable rpcbind А теперь контрольный в голову. Проверяем, что при попытке посмотреть информацию по rpc (команда ) [root@merionet ~]# rpcinfo -p rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused Готово. Теперь, ваш сервер стал чуточку безопаснее.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59