Как выполнить ping все ip в локальной сети с помощью терминала?

Я пытаюсь выполнить ping все системы, доступные в локальной сети, используя команду терминала.

Может ли кто-нибудь сказать мне, как это сделать?

1
задан 24 December 2015 в 11:16

3 ответа

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 с различными параметрами.

3
ответ дан 23 May 2018 в 14:49

Есть два способа:

Используйте 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
2
ответ дан 23 May 2018 в 14:49

Самый простой способ выполнить 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 широковещательный адрес.

0
ответ дан 23 May 2018 в 14:49

Другие вопросы по тегам:

Похожие вопросы: