1

Я ищу команду linux, которую можно использовать для поиска IP-адресов разных систем, подключенных к одной и той же сети. Все системы работают под управлением Fedora 14.

Заранее спасибо..

4 ответа4

1

Nmap, безусловно, команда, которую вы ищете. Ты можешь сделать:

nmap -sn 192.168.10.0/24

сканировать все в сети 192.168.10.0/24. Чтобы выполнить более глубокое сканирование конкретной машины, вы можете попробовать:

nmap -A -T4 192.168.10.12

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

1

Я не думаю, что есть полностью общий способ сделать это. Однако есть несколько вещей, которые вы можете попробовать.

Один из них - запустить arp -a . Это напечатает текущее состояние кэша ARP , который содержит IP-адреса и MAC-адреса каждого локального компьютера, с которым ваш компьютер недавно связывался. Это информация, которая вам нужна, но только для подмножества хостов в сети.

Другим является использование многоадресной рассылки. На ваших машинах работает Avahi? Если это так, вы можете делать mDNS-запросы к ним; попробуйте запустить avahi-browse -at .

Первоначально я думал, что побочным эффектом этого будет то, что ваша машина связывается с машинами, рекламирующими ресурсы mDNS, которые вносят свои данные в кэш ARP, который вы затем можете перечислить, как указано выше. Однако, похоже, это не так.

Однако вы можете запросить разрешение объявленных сервисов, которое получает IP-адреса компьютеров. Затем вы можете извлечь их из avahi-browse . Вот так:

avahi-browse -atr | egrep -o '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' | sort -u

Это позволит найти машины, рекламирующие сервисы только через mDNS, но есть большая вероятность, что это все ваши машины; почему-то современные системы Linux рекламируют сервис Workstation .

0

Комбинируйте nmap и arp для достижения наилучших результатов, особенно если задействованы iptables:

(это для андроида, поэтому мало что поменяю)


echo "running LIST scan..." 
su -c "/data/data/jackpal.androidterm/nmap/nmap -sL 10.0.7.240-254 >/dev/null 2>&1" 
echo "running PING scan..." 
su -c "/data/data/jackpal.androidterm/nmap/nmap -sP 10.0.7.240-254 >/dev/null 2>&1"
echo "------------------------------"
arp|grep ether|awk '{print $2,$4}'
0

Я не знал бы о такой команде, но вы могли бы использовать часть программного обеспечения. Я использую Angry IP-сканер в Windows, и я нашел версию для Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .