Используя Ubuntu 10.10, мне было интересно, есть ли команда командной строки, которая может перечислить все IP-адреса устройств, подключенных к сети?
Я хотел бы использовать это, например, чтобы перечислить все компьютеры, подключенные к моей домашней сети. В идеале это должна быть командная строка, так как я буду запускать ее из C ++.
Есть идеи?
linux
ubuntu
networking
ip
Кристофер Гвильямс
источник
источник
Ответы:
Проверьте команду arp-scan - вам, вероятно, придется установить ее, например:
http://manpages.ubuntu.com/manpages/hardy/man1/arp-scan.1.html
И дать более подробную информацию:
Где eth0 ваше устройство. Вы можете найти свое устройство с помощью:
источник
wlan0
вместоeth0
.Используйте nmap. пример:
nmap -sn 10.10.10.0/24
кеш arp будет сообщать вам только те, с которыми вы пытались связаться недавно.источник
В Windows это будет "
arp -a
" Я считаю, что эквивалент в Linux будет "arp -e
".Эту информацию можно найти на странице man для arp:
источник
arp -a
отображают (все) хосты в альтернативном (BSD) стиле. Simpy runningarp
делает то же самое, что и запуск, потомуarp -e
что это по умолчанию.Если ваша сеть есть
192.168.0.0/24
, создайте исполняемый файл со следующим кодом; Измените192.168.0
свою фактическую сеть.источник
ping -b -c 1 192.168.0.255
результат "1 переданных пакетов, 0 полученных, 100% потерь пакетов, время 0 мс"Попробуйте установить
nmap
(sudo apt-get install nmap
) и введитеnmap 192.168.1.0/24
замену192.168.1
с первых трех частей вашего IP-адреса (узнайте, используяip addr
).Вы также можете получить чуть менее точную (по моему опыту) карту сети, запустив
ping 192.168.1.255
(снова заменив192.168.1
), которая должна выдаватьping
каждую машину в сети, но, по моему опыту, она не всегда работает правильно.источник
Придумал следующее на нексусе, используя не
tmux
какarp-scan
в репозитории, а сnmap
предустановленной, отображает только ip адреса:источник
Для более компактного списка подключенных устройств:
Объяснение.
nmap -sL 192.168.0.*
перечислит все IP-адреса в подсети и отметит те, которые имеют имя:Поскольку все интересные записи начинаются с круглых скобок
(
и цифр1
, мы фильтруем их с помощью| grep \(1
(обратная косая черта необходима, чтобы избежать скобок)Причудьте,
что если два устройства имеют одинаковое имя,
nmap
будет отображаться только то, которое было подключено к маршрутизатору последнимисточник
Разрабатывая ответ Андерса Ларрсона -
источник