Я пытаюсь выполнить ping все системы, доступные в локальной сети, используя команду терминала.
Может ли кто-нибудь сказать мне, как это сделать?
fping - еще одна команда для ping всех ip в локальной сети.
fping -a -r 0 -g 192.168.9.0/24
192.168.9.48
192.168.9.71
192.168.9.72
192.168.9.73
192.168.9.75
192.168.9.79
192.168.9.81
192.168.9.82
ICMP Redirect from 192.168.9.4 for ICMP Echo sent to 192.168.9.83
192.168.9.84
192.168.9.85
192.168.9.87
192.168.9.88
192.168.9.90
192.168.9.92
192.168.9.104
192.168.9.106
192.168.9.108
192.168.9.109
192.168.9.116
192.168.9.117
ICMP Host Unreachable from 192.168.9.214 for ICMP Echo sent to 192.168.9.1
192.168.9.120
ICMP Host Unreachable from 192.168.9.214 for ICMP Echo sent to 192.168.9.2
-a Показать системы, которые являются живыми.
-r n Предел повтора (по умолчанию 3). Это число попыток выполнить проверку цели, не считая первой попытки.
-g addr / mask Создавать целевой список из предоставленной сетевой маски IP или начального и конечного IP. Укажите сетевую маску или начало / конец в целевой части командной строки. Если сеть с сетевой маской задана, сетевые и широковещательные адреса будут исключены.
Для сканирования диапазона IP-адресов с 192.168.0.1 до 192.168.0.9 выполните только:
sudo fping -s -g 192.168.0.1 192.168.0.9 -r 1
[d6 ] Это будет выводить: 192.168.0.1 is alive
192.168.0.7 is alive
192.168.0.2 is unreachable
192.168.0.3 is unreachable
192.168.0.4 is unreachable
192.168.0.5 is unreachable
192.168.0.6 is unreachable
192.168.0.8 is unreachable
192.168.0.9 is unreachable
9 targets
2 alive
7 unreachable
0 unknown addresses
14 timeouts (waiting for response)
16 ICMP Echos sent
2 ICMP Echo Replies received
0 other ICMP received
0.05 ms (min round trip time)
0.44 ms (avg round trip time)
0.84 ms (max round trip time)
2.183 sec (elapsed real time)
Вот руководство ubuntu для использования fping с различными параметрами.
Есть два способа:
Используйте nmap для сканирования всего локального подсети только одной командой. Например: nmap -sP 192.168.0.1/24 Используйте arp-scan, он отправляет пакеты ARP на хосты в локальной сети и отображает полученные ответы. По умолчанию он не установлен. Поэтому установите его командой sudo apt-get install arp-scan.Как только это будет выполнено. Запустите эту команду для сканирования всей локальной сети на указанном интерфейсе (например, ваш сетевой интерфейс называется eth0):
sudo arp-scan --interface=eth0 --localnet
или укажите конкретную подсеть:
sudo arp-scan --interface=eth0 192.168.0.1/24
Самый простой способ выполнить ping всех хостов в локальной сети с помощью IPv6:
ping6 -nc2 ff02::1%eth0
Флаг -n означает, что обратный DNS не будет выполнен. Без этого он будет замедлен, пытаясь выполнить обратный DNS по локальным адресам связи, который все равно не будет работать.
Флаг -c2 означает, что он будет отправлять только два пинга перед завершением. [ ! d2]
Адрес ff02::1 - это адрес anycast, предназначенный для всех хостов в ссылке.
Наконец %eth0 - это обозначение, добавленное к локальным адресам IPv6, чтобы указать, какой интерфейс использовать. Обычно это будет eth0 или wlan0.
Вы можете сделать то же самое с IPv4, но он включает в себя дополнительный шаг для поиска широковещательного адреса для сегмента.
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr b8:ae:ed:a4:08:97
inet addr:172.20.124.289 Bcast:172.20.124.255 Mask:255.255.255.0
inet6 addr: fe80::baae:edff:fea4:897/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:92446832 errors:0 dropped:669 overruns:0 frame:0
TX packets:52031936 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:97720895471 (97.7 GB) TX bytes:18694928767 (18.6 GB)
$ ping -bnc2 172.20.124.255
Здесь я впервые использовал ifconfig, чтобы узнать, что такое IP-адрес eth0, а затем я его пингует. Кроме того, мне нужен флаг -b, чтобы сообщить ping, что я действительно хочу выполнить ping широковещательный адрес.