Cmd против PowerShell

Тематические термины: Ping, Windows, Linux.

Мы рассмотрим использование команды ping для Windows и, немного, для Linux.

A ping is a tool and command used to troubleshoot network and system-related problems. The ping command normally uses the ICMP protocol and make checks if the remote system is up or down without a TCP or UDP. The ping port is a term used to check a remote port which can be TCP or UDP if it is open and accessible. There are different tools that can be used to ping a TCP or UDP port. Telnet, nmap, putty, netcat,psping are some of them.

Параметры команды ping и их описание

В зависимости от используемой операционной системы опции команды будут иметь разные назначения. Поэтому, если мы хотим понять все возможности, стоит ознакомиться с опцией help.

Общий синтаксис

Независимо от системы, команду ping можно применять так:

Windows

Для просмотра в Windows также используйте команду ping /?

Linux

При минимальной инсталляциии данной системы или использовании docker, утилиты ping может не быть. В таком случае мы увидим ошибку:

bash: ping: command not found

Для ее установки можно воспользоваться менеджером установки пакетов. В зависимости от типа операционной системы, наши команды будут немного отличаться.

а) для систем на базе deb (Debian, Ubuntu, Mint):

apt install iputils-ping

б) для систем на базе RPM (Rocky Linux, CentOS, Red Hat, Fedora):

yum install iputils

Готово, теперь можно пользоваться командой ping.

Список ключей можно посмотреть так:

As is well known, the tool ping can be used to test the access to a certain network device and its response time. Not all devices will respond to a ping, but they may respond to a particular Tcp-Port if a particular network service is provided through it. Windows PowerShell allows you to test a specific port using Windows board tools. The psping tool can also measure the response time to a specific port.

Aim of this article

Using commands in the command prompt to test whether certain Internet addresses or network devices have a certain network port active

Reading time: approx. 6 Minutes

Basic network knowledge and a Windows computer

Ping is a command used to send a test packet over the network, the devices usually respond to it and send back a response packet. Responsible for the response here is not a specific service, but a part of the network stack on the device. The test on a specific port is different, here it is tested whether the remote station on the port accepts a packet, i.e. whether the TCP connection setup to the port works. The connection is established directly to the service that uses the port. By the test on a certain port, it can be tested whether a certain service answers on the device.

To test a device for their open ports, see: Portscan commands.

The ping is a term and command-line tool used to check remote system network connectivity. It is one of the most popular tools for network diagnostics. By default, the usage of the ping command does not require any port number and will work with just a target IP address or domain name. But you may ask what port number is used by the ping command.

The TCP and UDP protocols are very popular where they can provide multiple port numbers to provide different services over the network. The ping command can be related to these TCP and UDP protocols but it does not use TCP or UDP. This may be even asked you in an interview or certificate exam or class exam. The ping command uses the ICMP protocol. The ping is an old method and tool described in the RFC792 and this standard does not provide any port number for the ping.

Ping and ICMP Protocol

The ping tool uses the ICMP protocol which is different from the TCP and UDP protocol where it is tightly integrated with the IP protocol. The ICMP is a layer 3 protocol that is transmitted with the IP packets even the IP is also a layer 3 protocol too. The ICMP is created to support the IP protocol.

Ping Uses ICMP Type 8 and Type 0

$ ping 8.8.8.8


Cmd против PowerShell

Ping ICMP Request Packet Details


Cmd против PowerShell

Ping ICMP Reply Packet Details

Is Port 7 Used For Ping ICMP?

Ping is one of the most fundamental tools when it comes to network troubleshooting. It allows you to quickly test whether a given service/port is responding or not. Из-за облегченного характера пакетов ICMP он позволяет ping быстро получать полезную информацию о данной системе, не отправляя серию пакетов, которые в противном случае перегрузили бы хост (в некоторых случаях).

:/>  Удаление схемы электропитания windows 10

Хотя пинг всего хоста может быть полезен для проверки работоспособности данного хоста, он не дает много информации о том, активен ли целевой порт.

Способ 1 – Использование Telnet

Вероятно, вы знакомы с telnet. Telnet, также известный как Terminal или Network, представляет собой утилиту командной строки, которая позволяет выполнять интерактивную сетевую связь с использованием протокола TELNET.

Учебник по telnet скоро появится. Оставайтесь с нами для этого.

Чтобы пропинговать определенный порт с помощью telnet, используйте следующий синтаксис команды:

Команда telnet доступна как в Windows, так и в Unix-системах. Однако может потребоваться включить Telnet в Windows.

Чтобы узнать, как это сделать, перейдите по ссылке ниже:

В macOS используйте brew для установки Telnet:

заварить установить телнет

В Debian и дистрибутивах на основе Debian установите telnet:

sudo apt-get install telnet

В приведенном ниже примере показано, как использовать telnet, чтобы проверить, запущен ли сервер Nginx.

телнет 67.205.166.236 80

Если служба запущена, telnet подключится и вернет вывод в виде:

Способ 2 – Использование Nmap

Начните с установки nmap:

sudo apt-get установить nmap

варить установить nmap

sudo yum установить nmap

После установки проверьте, работает ли порт, выполнив команду:

sudo nmap -p 80 67.205.166.236

Nmap вернет подробную информацию, включая задержку, номер порта, связанную службу и ее состояние. Пример вывода выглядит следующим образом:

Начиная с Nmap 7.93 ( https://nmap.org ) 02.10.2022 10:49 EAT
Отчет сканирования Nmap для 67.205.166.236
Хост работает (задержка 0,28 с).

ГОСУДАРСТВЕННАЯ СЛУЖБА ПОРТА
80/tcp открыть http

Nmap выполнен: 1 IP-адрес (1 хост включен) просканирован за 0,65 секунды

Способ 3 — Использование Netcat

Чтобы пропинговать порт с помощью netcat, выполните команду:

Мы видим, что соединение с целевым адресом и портом прошло успешно. Это указывает на то, что порт/служба работает.

Способ 3 — Использование cURL

Очевидно, мы не можем не упомянуть cURL в этом списке. Синтаксис команды показан ниже:

Команда должна быть “Подключена”, если порт/сервис работает.

Метод 4 — Использование Windows PowerShell

В Windows можно использовать командлет Test-NetConnection для проверки работоспособности порта. Синтаксис команды показан ниже:

Test-NetConnection 67.205.166.236 -p 80

Команда должна возвращать сведения о целевом хосте и статусе соединения.

Имя компьютера: 67.205.166.236
Удаленный адрес: 67.205.166.236
Удаленный порт: 80
Псевдоним интерфейса: Ethernet
Адрес источника: 192.168.1.101
TcpTestSucceeded: Истина

Метод 5 – Использование утилиты PsPing

В Windows вы также можете использовать утилиту PsPing, которая является частью инструментов Windows SysInternals. Загрузите инструмент в ресурсе ниже:

Затем вы можете использовать синтаксис команды ниже, чтобы пропинговать определенный порт:

Команда должна отправить запрос ping на целевой адрес и порт и вернуть вывод, как показано:

Вышеупомянутый порт поднят.

Заключение

В этом посте мы рассмотрели различные методы и инструменты, которые вы можете использовать для проверки связи с определенным портом в системах на базе Windows и Unix.

Спасибо за прочтение и до встречи в следующем!!

Если вам нравится наш контент, подумайте о том, чтобы купить нам кофе, чтобы поддержать нашу работу:

Открытие порта для Ping

Справедливо обнаруживают, что не во всех случаях отсутствие ответа на ping означает, что удаленный узел недоступен. Администратор ресурса может намеренно получать ответы на эхо-запросы.

Также важно знать, что ping не использует конкретный номер порта. Чтобы открыть возможность пинга, необходимо либо найти соответствующую (во многих домашних маршрутизаторах) или подключить ICMP (Internet Control Message Protocol) на брандмауэре. Ну или наоборот — чтобы закрыть возможность пинга, блокировать запросы ICMP.

Примеры использования

Простой пример использования команды ping

Примерный ответ с исправной связью:

Пример ответа, если узел недоступен:

* до удаленного узла нет сигнала. Возможно, смеси неполадки в сети.

Используй имя домена и округа.

* не удалось определить имя пакета. Возможные неполадки: нет связи с DNS, не работает DNS, запрашиваемого имени узла не существует.

В Linux при отсутствии ответа, мы ничего не увидим, но если нам нужно видеть неудачные попытки, то используем ping с опцией -O:

Ping Port with curl Command

$ curl 192.168.136.136:80

If the remote port is open some response like a warning, error, etc is returned by the remote port service.


Cmd против PowerShell

Ping Port with curl Command

:/>  Как поменять учетную запись в windows phone

Проверка портов

С помощью команды ping нельзя проверить открытость того или иного порта.

Для этих целей используется команда telnet или программа, например, nmap.

Была ли полезна вам эта инструкция?

Ping Port with PaPing Tool

The PaPing tool is a 3rd party tool created to ping remote specified port. The PaPing project is open source and located in Google Code.

Command prompt

Originally, the telnet command was very often misused in the command prompt to test a specific port. Telnet was a fixed part of the operating system in earlier Windows versions, but in Windows 10 / 11 the telnet command is no longer activated by default, so the command must be added beforehand via Programs and Features:


Cmd против PowerShell

Cmd против PowerShell

The call is then made in the command prompt: telnet IP/DNS Port

telnet 192.168.1.5 443

If the port is open, usually only a “_” flashes in the output:

Ping Port with psping Command

Windows Sysinternals is used to debug, troubleshoot the Windows operating system. The psping is a Windows Sysinternals tool that can be used to ping a port. The syntax of the psping tool is like below.

Ping Specific Port with nmap

The nmap is a security tool used to scan remote systems ports and services. The nmap can be also used to ping a specific port. Nmap can be installed for the Linux distributions like Ubuntu, Debian, Mint, Kali like below.

$ sudo apt install nmap

For Windows operating systems use the official nmap site Windows download section like below.

The syntax of the nmap command for the port ping is like below.

nmap -p PORT_RANGE TARGET

Let’s make an example with the nmap to ping remote port. We will provide the port number with the -p parameter which will be 80 and the remote system is google.com.

$ nmap -p 80 google.com

The nmap is the fastest tool to ping a specified remote port. The command will be executed in 2 seconds and detailed output about the remote port will be provided like below. The line “80/tcp open http” simply expresses that the remote port number 80 responds to pings.

Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-11 18:27 PST
Nmap scan report for google.com (172.217.18.110)
Host is up (0.036s latency).
Other addresses for google.com (not scanned): 2a00:1450:4001:809::200e
rDNS record for 172.217.18.110: zrh04s05-in-f110.1e100.net
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.28 seconds


Cmd против PowerShell

Ping Specified Port with nmap

Alternatively, we can specify the IP address of the remote system we want to ping port.

$ nmap -p 80 172.217.18.110

$ nmap -p 80-90 google.com

The output will be like below where the open ports will be listed with the STATE open.

Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-11 18:32 PST
Nmap scan report for google.com (172.217.18.110)
Host is up (0.039s latency).
Other addresses for google.com (not scanned): 2a00:1450:4001:809::200e
rDNS record for 172.217.18.110: fra16s42-in-f14.1e100.net
PORT STATE SERVICE
80/tcp open http
81/tcp filtered hosts2-ns
82/tcp filtered xfer
83/tcp filtered mit-ml-dev
84/tcp filtered ctf
85/tcp filtered mit-ml-dev
86/tcp filtered mfcobol
87/tcp filtered priv-term-l
88/tcp filtered kerberos-sec
89/tcp filtered su-mit-tg
90/tcp filtered dnsix


Cmd против PowerShell

Ping Multiple Specified Ports with nmap

FAQ

Strictly speaking, a ping to a specific TCP port is not a ICMP-Ping, but a TCP connection attempt. Tools like test-netconnection, telnet or psping try to establish a TCP connection to a specific service and thus test a network connection on TCP/IP level.

What does a high ping mean in games?

The Windows operating system provides the strong command-line interface named PowerShell with its recent versions. PowerShell provides a lot of useful commands like Test-NetConnection . Test-NetConnection можно использовать для простого эхо-тестирования указанных удаленных портов и предоставления подробной информации. Test-NetConnection является предпочтительным инструментом по сравнению с командой telnet для систем Windows. Команда Test-NetConnection по умолчанию используется в PowerShell и Windows, поэтому дополнительный процесс установки не требуется.

Синтаксис команды Test-NetConnection показан ниже.

Test-NetConnection TARGET -p PORT

Мы будем использовать команду Test-NetConnection для тестирования порта google.com номер 80.

Результат ping удаленного порта с помощью команды Test-NetConnection будет таким, как показано ниже. Мы видим, что предоставлена ​​информация об удаленной системе ComputerName, RemoteAddress, RemotePort, InterfaceAlias, SourceAddress, TcpTectSucceeded.

Имя компьютера : google.com
Удаленный адрес: 172.217.18.110
Удаленный порт: 80
Псевдоним интерфейса: Ethernet0
Исходный адрес: 192.168.142.130
TcpTestSucceeded: Истина

:/>  Как включить или отключить NetBIOS через TCP / IP в Windows 10 - Okzu

Cmd против PowerShell

Пинг-порт с PowerShell Test-NetConnection

Проведем еще один тест для порта номер 89 для google.com.

Вывод, как показано ниже, означает, что пинг-порт не прошел. Для неудачных операций ping порта предоставляется дополнительная информация, такая как PingRelyDetails (RTT), TcpTestSucceeded.

ПРЕДУПРЕЖДЕНИЕ: TCP-соединение с (172.217.18.110: 89) не удалось

Имя компьютера : google.com
Удаленный адрес: 172.217.18.110
Удаленный порт: 89
Псевдоним интерфейса: Ethernet0
Исходный адрес: 192.168.142.130
PingSucceeded: Истина
PingReplyDetails (RTT): 46 мс
TcpTestSucceeded: Ложь

Cmd против PowerShell

Проверить порты UDP

Порты UDP проще всего протестировать с помощью инструмента «portqry»:

portqry -n 192.168.1.2 -p udp -o 161

Если выводится “UDP port ???:FILTERED”, порт недоступен.

Скачать, см. https://www.microsoft.com/en-us/download/details.aspx?id=17148

Тестовое подключение к сети

Встроенная команда PowerShell Test-NetConnection может использоваться для проверки соединения на определенном порту.

Windows PowerShell является фиксированным компонентом Windows, поэтому проверку портов можно выполнить с помощью PowerShell без дополнительного программного обеспечения или функций.

Test-NetConnection – имя_компьютера google.com – порт 443

Команда возвращает для TcpTestSucceeded: True, если порт доступен.

Пинг определенного порта с помощью команды nc (netcat)

nc или, как известно, netcat — это инструмент, используемый профессионалами в области безопасности для удаленного подключения и управления. Подобно команде telnet, команду nc можно использовать для проверки связи с определенными номерами портов для удаленной системы.

Команда nc предоставляется дистрибутивами Linux, такими как Ubuntu, Debian, Mint, Kali, и может быть установлена, как показано ниже.

$ sudo apt install netcat

Для операционных систем Windows команду nc и исполняемый файл можно загрузить из альтернативных мест, одним из которых является https://github.com/diegocr/netcat.

Синтаксис команды nc очень похож на команду telnet. Но разница в том, что нужно указывать параметры -v и -z. Параметр -v используется для подробного вывода, чтобы просмотреть журнал или информацию о состоянии, например, подключен или не подключен. Параметр -z используется для режима сканирования, который будет проверять или сканировать указанный удаленный порт.

nc -vz ПОРТ ДОМЕНА
nc -vz IP ПОРТ

Мы видим, что соединение установлено успешно, что означает, что удаленный порт с номером 80 отвечает на запросы ping. Мы также можем использовать IP-адрес для удаленной системы.

$ нк -vz 172.217.18.110 80

$ nc -vz goole.com 89
nc: не удалось подключиться к порту 89 (tcp) goole.com: в соединении отказано

Как видно из результата, мы получим сообщение «Отказано в соединении», что означает, что удаленный порт не отвечает на пинг.

Sysinternals

Команду psping также можно использовать для измерения времени отклика отдельных служб или портов, а также пропускной способности:

Пинг на порту

Cmd против PowerShell

psping включен в pstools от Sysinternals (Microsoft),

Измерение пропускной способности

psping -b -l 8k -n 10000 www.libe.net:80

Cmd против PowerShell

Скачать

Скачать см.: https://docs.microsoft.com/de-at/sysinternals/downloads/psping

Пинг определенного порта с помощью команды telnet

Самый популярный и основной инструмент для проверки связи с удаленным портом — это команда telnet. Telnet — это инструмент и протокол, созданный для подключения удаленных систем через командную строку. Telnet работает из командной строки и обеспечивает простой доступ к удаленному серверу Telnet. Команда Telnet использует протокол TCP и сначала пытается подключиться к удаленному порту, что очень полезно для проверки удаленного порта.

По умолчанию telnet не установлен ни для Linux, ни для Windows. В системах Linux, таких как Ubuntu, Debian, Mint, Kali, вы можете установить команду telnet, как показано ниже.

$ sudo apt install telnet

Кроме того, вы можете использовать сторонние инструменты, такие как Putty для команды telnet, но это непрактично, как ожидалось. Синтаксис команды telnet для проверки связи с удаленным портом приведен ниже. Команда telnet использует только протокол TCP, который является наиболее популярным протоколом передачи. Таким образом, с помощью команды telnet можно пропинговать только TCP-порты, которые нельзя использовать для UDP-портов.

telnet IP ПОРТ
ПОРТ ДОМЕНА telnet

Давайте пропингуем удаленный HTTP-порт с помощью команды telnet, указав номер порта 80. Мы пропингуем TCP-порт google.com с номером 80, как показано ниже.

$ telnet google.com 80

Вывод будет таким, как показано ниже, где telnet попытается подключиться к порту удаленной системы номер 80, и когда соединение будет установлено, он увидит сообщение «Подключено к google.com».

Cmd против PowerShell

Пропинговать указанный порт с помощью telnet

В качестве альтернативы мы можем попытаться пропинговать удаленный порт с IP-адресом. Мы просто изменим доменное имя на указанный ниже IP-адрес.

$ телнет 172.217.18.110 80

Cmd против PowerShell

Оставьте комментарий