Перечислите все MAC-адреса и связанные с ними IP-адреса в моей локальной сети (LAN)

  1. Не нажимай бежать никогда. См. Этот ответ, чтобы узнать, почему . Как уже упоминалось выше, Ctrl-C является лучшей альтернативой. Я настоятельно рекомендую сопоставить ключ блокировки вашей заглавной буквы, чтобы сбежать.

  2. Если вы редактируете язык, совместимый с ctags, использование файла тегов, а также: ta, ctrl-] и т. Д. Является отличным способом навигации по коду, даже по нескольким файлам. Кроме того, выполнение ctrl-n и ctrl-p с использованием файла тегов - отличный способ сократить количество нажатий клавиш.

  3. Если вы редактируете строку, которая обернута, потому что она шире, чем ваш буфер, вы можете перемещаться вверх / вниз с помощью gk и gj.

  4. Постарайтесь сосредоточиться на эффективном использовании команд движения, прежде чем выучите вредные привычки. Такие вещи, как использование «dt» или «d3w» вместо нескольких нажатий на кнопку «x». По сути, всякий раз, когда вы обнаруживаете, что нажимаете одну и ту же клавишу несколько раз, возможно, есть лучший, более быстрый, более лаконичный способ выполнить то же самое.

82
задан 04.01.2015, 15:44

9 ответов

Вы можете использовать arp-scan.

Установите с помощью этой команды:

sudo apt-get install arp-scan

Чтобы просмотреть все IP-адреса и связанные MAC-адреса, используйте:

sudo arp-scan --interface=eth0 --localnet

Вывод будет выглядеть следующим образом:

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU
16
ответ дан 08.10.2019, 17:32
  • 1
    Этот isn' t нахождение устройства это doesn' t имеют IP все же... – caw 14.10.2015, 15:25

arp будет медленно возвращать вам список активных MAC-адресов и IP-адресов или их имен хостов, если они есть. Если вы хотите, чтобы он шел быстрее, вы можете использовать arp -n, который должен пропустить поиск DNS. Если вам нужно разобрать его во что-то, arp -an пропустит столбцы фиксированной ширины.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

В противном случае ваш маршрутизатор должен дать вам представление об активных устройствах (большинство из них).


Редактировать Согласно комментарию Дэвидкла, этот ответ не так совершенен, как я надеялся.

arp полагается на какой-то предыдущий контакт для работы. Однако, по моему мнению, современные устройства настолько разговорчивы (вы должны действительно смотреть wireshark - это образование) на уровне вещания, что маловероятно, что устройство будет присутствовать в сети, по крайней мере, не отвечая на передачу. (Чтобы быть уверенным, что сначала вы можете пропинговать все устройства в сети с 10.10.0.255, а затем, скорее всего, получите более 90% устройств.)

Чтобы дать вам некоторое представление о том, что я имею в виду, 10.10 .0.16 выше - это наш PVR. Нет прямого взаимодействия между моим ПК и PVR, и на PVR не запущены никакие службы (также нет UPNP / DLNA).

Просто быстро разыграть аргументы ...

  • Но как насчет хакеров в моей сети?! 1
    Они тоже могут блокировать эхо-запросы ICMP. Они могут блокировать все ответы на каждый тип сканирования.
  • О, но, конечно, nmap все еще является наилучшим возможным решением
    При работе здесь все еще не хватает четырех устройств. Четыре устройства, которые активны в сети. Либо они не отвечают на пинги, либо nmap не ждет достаточно долго, чтобы они могли ответить ... Я не знаю. nmap - отличный инструмент (особенно для сканирования портов, который вы, возможно, захотите сделать дальше), но он все еще немного неуклюж (и немного медленен) для этой проблемы. И не называй меня Ширли.
45
ответ дан 08.10.2019, 17:32
  • 1
    ЕСЛИ я изменяю свой идентификатор MAC с преобразователем Mac, Он может показать оригинал? – Benjamin Dubois 17.01.2014, 14:31
  • 2
    @BYEAskUbuntu при использовании преобразователя MAC, MAC - то, чем Вы устанавливаете его, чтобы быть. Для всех пользователей сети его источник вообще неизвестен, таким образом, не, это can' t. – Ganga 17.01.2014, 15:23
  • 3
    @Ruslan That' s просто параноидальный я очищающий их... I' m уверенный человеку было бы довольно трудно сделать что-либо с ними кроме Вас, никогда не знают who' s преследование Вас. – Adrian Cumpanasu 17.01.2014, 16:59
  • 4
    I' m удивленный этим ответом. " arp" не показывает список активных MAC-адресов в локальной сети. " arp" показывает список MAC-адресов, соответствующих машинам, которые взаимодействовали с машиной, на ней работают. Если не было никакой коммуникации между локальной машиной и другой машиной в сети недавно, та машина не обнаружится в " arp" список. – Adrian P. 17.01.2014, 20:33
  • 5
    Я просто сделал быстрый тест в своей сети, и arp отображает только приблизительно 25% устройств, которые существуют. Если компьютер, работающий arp hasn' t получил пакет от другого устройства, это won' t быть в списке arp. I' d интересоваться знанием больше об устройствах, которые nmap не удалось обнаружить в Вашей сети; существуют способы скрыться от nmap, но I' ve нашел значение по умолчанию nmap сканированием довольно эффективный. Однако There' s никакой отказоустойчивый ответ, потому что, если устройство isn' t генерирующий трафика и isn' t отвечающие запросы, это невидимо - но большинство устройств ответит на некоторый тип запроса. – hakre 17.01.2014, 22:31

GUI

Вы можете попробовать avahi-Discover Install avahi-discover .

  1. Установите его с помощью этой команды (или нажав на вышеуказанную ссылку):

    sudo apt-get install avahi-discover
    
  2. Запустите Avahi Zeroconf Browser или avahi-discover из терминал.
  3. Вы должны увидеть окно со списком устройств в вашей локальной сети.
    MAC-адрес будет строкой в ​​квадратных скобках.

Командная строка

Вы можете использовать эту команду в терминале:

avahi-browse -a -t -d local

Она установлена ​​по умолчанию.

9
ответ дан 08.10.2019, 17:32
  • 1
    Это работает для показа MAC-адреса машины, которая не выполняет сервисов никакого вида? – Najib Ahmed Puthawala 17.01.2014, 12:37
  • 2
    В моем случае этот doesn' t работают на каждое устройство в сети. It' s довольно проклятый аккуратный, но это won' t показывают немым клиентам без avahi/upnp сервисов. – Shadab Ansari 17.01.2014, 12:51
  1. Сначала выполните сканирование сети, чтобы увидеть, какие хосты доступны / подключены, используя nmap -sn 1.2.3.4/24 или fping -g 1.2.3.4/24

  2. Затем запросите MAC-адрес, соответствующий на IP-адрес с помощью arping. Впереди псевдокод:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Читерство: обратитесь к arp-кешу вашего локального коммутатора; это должно дать вам хороший обзор ...

5
ответ дан 08.10.2019, 17:32

В тех случаях, когда поддерживается протокол NetBIOS , я предпочитаю использовать

nbtscan 192.168.1.1-192.168.1.255.

3
ответ дан 08.10.2019, 17:32
  • 1
    Это только обнаруживает клиенты, которые поддерживают протокол NetBIOS (Windows и Linux+Samba). – cubrr 17.01.2014, 14:13

Для этого вы можете использовать утилиту Nmap . Nmap - бесплатная утилита сетевого сканирования.

Попробуйте просто:

sudo nmap -sn 192.168.1.0/24

Пожалуйста, укажите ваш сетевой идентификатор и маску подсети.

Как найти идентификатор сети и маску подсети

Использовать команду ip a:

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

Здесь, в точке 2, у меня есть wlan0 устройство. Там написано inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0, IP-адрес: 192.168.3.66, маска подсети: 24. Идентификатор сети 192.168.3.0, просто замените последнее число на 0.

Или, как говорит человек nmap:

sudo nmap -sn 192.168.1.0/24

Вот небольшая цитата из страницы руководства, nmap (1) :

-sn (No port scan)

Эта опция указывает Nmap не выполнять сканирование портов после обнаружения хоста, а только распечатывать доступные хосты, которые ответили на сканирование. Это часто называют «сканированием ping», но вы также можете запросить запуск сценариев traceroute и хоста NSE.

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

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

Системные администраторы также часто находят эту опцию полезной. Его можно легко использовать для подсчета доступных компьютеров в сети или мониторинга доступности сервера. Это часто называется проверкой ping и более надежно, чем ping широковещательного адреса, поскольку многие хосты не отвечают на широковещательные запросы.

Обнаружение хоста по умолчанию, выполненное с помощью -sn , состоит из эхо-запроса ICMP, TCP SYN к порту 443, ACK TCP к порту 80 и запроса метки времени ICMP по умолчанию.

При выполнении непривилегированным пользователем только пакеты SYN отправляются (с использованием вызова connect ) на порты 80 и 443 на цели.

Когда привилегированный пользователь пытается сканировать цели в локальной сети Ethernet, запросы ARP используются, если не указано --send-ip . Опцию -sn можно комбинировать с любыми типами зондов обнаружения (опции -P* , исключая -Pn ) для большей гибкости.

Если используются какие-либо из этих опций типа зонда и номера порта, зонды по умолчанию переопределяются. Когда между исходным хостом, на котором выполняется Nmap, и целевой сетью установлены строгие брандмауэры, рекомендуется использовать эти передовые методы. В противном случае хосты могут быть пропущены, когда брандмауэр отбрасывает зонды или их ответы.

В предыдущих выпусках Nmap -sn был известен как -sP .

63
ответ дан 08.10.2019, 17:32
  • 1
    It' s не работающий – Big Money 17.01.2014, 12:01
  • 2
    Это должно будет быть скорректировано так, чтобы 192.168.1.0/24 был изменен на user' s диапазон IP-адреса. – Rejaul 17.01.2014, 12:02
  • 3
    @minerz029, Уверенный, я действительно изменял IP – Rocket Hazmat 17.01.2014, 13:01
  • 4
    Я don' t знают, является ли это причиной, но на Linux я использую nmap -sP 192.168.1.0/24 для сканирования ping. – Ragnar 19.11.2014, 19:12
  • 5
    Вы знаете, почему корневые полномочия требуются считать адресатов MAC из сети? – Benjamin Dubois 23.06.2015, 23:26

Я был заинтригован этим постом. Я нуждался в этом.

Я написал сценарий оболочки, который анализирует вывод arp, используя операторы awk, и генерирует вывод HTML. Если вы выполните сценарий и перенаправите вывод в файл HTML, у вас останется файл HTML, в котором указаны IP-адрес, полный MAC-адрес и ссылка на страницу поиска IEEE OUI. Это помогает в определении клиента с помощью производителя NIC.

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"

Это помогает выполнить сканирование nmap в вашей локальной сети, поэтому у вас есть записи в таблице ARP. Надеюсь, форматирование переведено. Вы могли бы украсить это, чтобы иметь текст в табличном формате.

2
ответ дан 08.10.2019, 17:32

вы можете использовать arp.

Это покажет вам MAC и IP-адреса ..

0
ответ дан 08.10.2019, 17:32
  • 1
    Это только работает на те устройства, которые были подключены с (например, ping). – Royi 04.01.2015, 17:01

После того, как я устал от использования nmap и ARP, я создал эту небольшую программу, которая запрашивает все MAC-адреса для данного диапазона IP-адресов: https://github.com/drkblog/findmacs

1
ответ дан 08.10.2019, 17:32
  • 1
    Это запрашивает последовательно или параллельно? – StarShine 04.01.2015, 17:07

Теги

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