Linux узнать mac адрес удаленного компьютера

Resolving MAC Address from IP Address in Linux

I need to write a bash script wherein I have to create a file which holds the details of IP Addresses of the hosts and their mapping with corresponding MAC Addresses. Is there any possible way with which I can find out the MAC address of any (remote) host when IP address of the host is available?

5 Answers 5

If you just want to find out the MAC address of a given IP address you can use the command arp to look it up, once you’ve pinged the system 1 time.

Example

$ ping skinner -c 1 PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data. 64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms --- skinner.bubba.net ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms 

Now look up in the ARP table:

$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0 

fing

If you want to sweep the entire LAN for MAC addresses you can use the command line tool fing to do so. It’s typically not installed so you’ll have to go download it and install it manually.

fing example

Using ip

If you find you don’t have the arp or fing commands available, you could use iproute2’s command ip neigh to see your system’s ARP table instead:

$ ip neigh 192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE 192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE 192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE 192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE 192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE 

References

I know this is an old answer, but do you have any insight as to how Fing is implemented? I am trying to learn about this layer of networking and the tools to monitor it.

The ip neigh works most of the times without having to install extra packages. Therefore I think that’s the best answer.

But you can only use this command in LAN, if you want to find out the MAC address of any remote host, maybe you must use some tool to capture the packet like tcpdump and parsing the result.

tcpdump(8) will only show you the local MACs (i.e., the MAC of the last leg router). The MAC layer headers of input packets are stripped out by the router, and new ones added to the outgoing packet.

This is from my question and answer in Ask Ubuntu.

sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.* 

nmap : Network exploration tool and security / port scanner. From the manual:

-sP (Skip port scan): This option tells Nmap not to do a port scan after host discovery, and only print out the available hosts that responded to the scan. This is often known as a “ping scan”, but you can also request that traceroute and NSE host scripts be run. This is by default one step more intrusive than the list scan, and can often be used for the same purposes. It allows light reconnaissance of a target network without attracting much attention. Knowing how many hosts are up is more valuable to attackers than the list provided by list scan of every single IP and host name.

-PE; -PP; -PM (ICMP Ping Types) : In addition to the unusual TCP, UDP and SCTP host discovery types discussed previously, Nmap can send the standard packets sent by the ubiquitous ping program. Nmap sends an ICMP type 8 (echo request) packet to the target IP addresses, expecting a type 0 (echo reply) in return from available hosts.. Unfortunately for network explorers, many hosts and firewalls now block these packets, rather than responding as required by RFC 1122[2]. For this reason, ICMP-only scans are rarely reliable enough against unknown targets over the Internet. But for system administrators monitoring an internal network, they can be a practical and efficient approach. Use the -PE option to enable this echo request behavior.

-PA port list (TCP ACK Ping) : The TCP ACK ping is quite similar to the just-discussed SYN ping. The difference, as you could likely guess, is that the TCP ACK flag is set instead of the SYN flag. Such an ACK packet purports to be acknowledging data over an established TCP connection, but no such connection exists. So remote hosts should always respond with a RST packet, disclosing their existence in the process. The -PA option uses the same default port as the SYN probe (80) and can also take a list of destination ports in the same format. If an unprivileged user tries this, the connect workaround discussed previously is used. This workaround is imperfect because connect is actually sending a SYN packet rather than an ACK.

21,23,80,3389 : Ports to search through.

Читайте также:  Finding files in linux grep

192.168.1.* : Range of IPs. replace with yours.

Источник

Re: Re: как удаленно узнать MAC-адрес по IP-адресу?

Если совсем удаленно Юзаешь сниффер, Ethereal к примеру и пингуешь тот хост и потом смортришь его пакеты ответа, там и будет хардваре адрес. Лаймеры. И форум у вас дрянной. ни одного серьезного вопроса, и ответа тоже

Re: Re: Re: как удаленно узнать MAC-адрес по IP-адресу?

Похоже ты сам ламер, там будет MAC шлюза.

Re: как удаленно узнать MAC-адрес по IP-адресу?

Надо сделать себе рутшел на нужном ип и посмотреть настройки сетевухи, все просто. Рутшел можно получить через срыв стека в ТСР стеке, единственная проблема если ядро ниже 2.3.65, но такого старья осталось мало.

Re: Re: Re: Re: Re: как удаленно узнать MAC-адрес по IP-адресу?

>э , а причем тут MAC и WINS ?!

Re: Re: как удаленно узнать MAC-адрес по IP-адресу?

о , как все просто-то — » Надо сделать себе рутшел на нужном ип и посмотреть настройки сетевухи, все просто. Рутшел можно получить через срыв стека в ТСР стеке, единственная проблема если ядро ниже 2.3.65, но такого старья осталось мало. » Да вы просто гений! а чего ж не подписались-то ? потенциальные работодатели рыдают.

Re: Re: Re: как удаленно узнать MAC-адрес по IP-адресу?

>Если совсем удаленно Юзаешь сниффер, Ethereal к примеру и пингуешь тот хост и потом смортришь его пакеты ответа, там и будет хардваре адрес. Лаймеры. И форум у вас дрянной. ни одного серьезного вопроса, и ответа тоже

>anonymous (*) (20.08.2004 10:40:19)

какой, говоришь, у него MAC (там ДЕЙСТВИТЕЛЬНО ethernet)?

Источник

Как опросить маки у соседей?

Собственно есть две железки, которые подключены друг к другу, у них включен интерфейс, которым они соединены, но IP не заданы.

Читайте также:  How to change locale linux

Собственно есть способы узнать MAC`и друг-друга?

ARP stands for Address Resolution Protocol, which is used to find the media access control address of a network neighbour for a given IPv4 Address.

Нет у меня никакого IPv4 адреса, вообще. Не назначен он. И вообще, насколько я понял, тут нужны протоколы канального уровня.

а что есть? посмотри листинг арп (полностью команду не помню), он покажет все известные маки с которыми общался текущий девайс

А если он еще ни с кем не общался? Вот обе железки только что взяли и включили.

вопрос, как я понял, в том, чтобы за разумное время гарантированно спровоцировать соседа на трафик, который тот не собирается посылать (не потому что скрывается, а просто ему не надо)

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

А что есть на этих железяках, если они просто сидят и молчат(в сеть), то наверное никак. Если ищут DHCP/PPPoE броадкастом, то в arp смотри. Еще вариант link-local адреса, если назначаются автоматом, то через arp-scan можно выяснить из и mac соотвественно.

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

RiseOfDeath ★★★★ ( 22.03.16 15:56:38 MSK )
Последнее исправление: RiseOfDeath 22.03.16 15:58:38 MSK (всего исправлений: 1)

facepalm именно этим apr и занимается — проверяет на конфликты и анонсирует новый хост с ip в сети

если умеют в ipv6 попингуй ff02::1

Внезапно открыл для себя link-local

Я так понимаю, что ТСу надо вообще без конфликтов чтобы было вот прям сразу. Задача сформулирована сам видишь как.

Поставить на обеих IP 0.0.0.0 ifconfig’ом и слать броадкастом с обеих сторон что попало, например ping -b 0.0.0.0 -I eth0, смотреть tcpdump’ом. Можно еще через packet socket посылать на broadcast address. Короче самый простой способ — это назначить левый адрес (лучше 0.0.0.0).

Другого способа узнать MAC-адрес, кроме как посмотреть его физически, нет в природе. То есть или что-нибудь отправить и смотреть, или идти ногами до компа и смотреть на месте.

Читайте также:  Настройка ldap astra linux

Источник

Как в Linux узнать mac по ip?

MAC-адрес, также известный как адрес управления доступом к среде, представляет собой уникальный и отдельный аппаратный номер конкретного компьютера, особенно в LAN (локальной сети) или в других сетях. Когда вы подключены к Интернету в качестве хоста или ваш компьютер подключен к Интернету, IP-адрес вашего компьютера связывается с физическим MAC-адресом компьютера в локальной сети. MAC-адрес совпадает с адресом Ethernet в локальной сети Ethernet.

В телекоммуникационных протоколах управление доступом к среде передачи, которое является подуровнем уровня канала передачи данных, использует MAC-адрес.

Для каждого типа устройства существует свой подуровень MAC. На уровне DLC другой подуровень является подуровнем управления логическим каналом. Далее мы покажем вам, как найти IP и MAC-адреса устройства с помощью командной строки в Linux.

Поиск IP и MAC-адреса с помощью командной строки

С помощью команды IP вы можете найти как IP-адрес, так и MAC-адрес вашего сетевого подключения. Здесь мы обсудим IP-адрес сетевой команды в Linux. Сетевые параметры Linux полезно снимать с помощью этой команды. Эта команда будет работать в разных системах Linux, таких как Kali Linux, Arch Linux, Fedora, Ubuntu и т. Д.

Команда IP

Команда IP заменяет команду ifconfig, которая является частью пакета net-tools. Команда IP очень сильна и мощна. Синтаксис команды IP записывается следующим образом:

В приведенной выше команде xx будет заменен следующими двумя для получения предпочтительного результата. Эти операторы включают:
-s, который используется для отображения дополнительной информации, связанной с командой
-V, который используется для отображения версии утилиты ip

Чтобы проверить IP-адрес в Kali Linux, введите команду ifconfig, как показано ниже:

Определение IP-адреса системы Linux

Чтобы вывести список всех IP-адресов системы, введите в терминал следующую команду:

Эта команда отобразит все доступные в настоящее время IP-адреса с именами устройств. Если кому-то не нравится IP-адрес по умолчанию, подключенный к Интернету, он может использовать параметр grep. Параметр можно записать, как показано ниже:

$ ip route list |grep default

Другой вариант — использовать имя устройства, но в этом случае важно использовать имена конкретных сетевых устройств. Для этого введите следующую команду:

Здесь вы увидите, что соединение Ethernet — это eth0, а wlp2s0 представляет собой беспроводное соединение. В этом примере мы будем использовать eth0:

Определение MAC-адреса системы Linux

Любое сетевое устройство имеет критический параметр, такой как MAC-адрес, который также будет включать оборудование компьютера или сервера. У каждого устройства в сети, подключенного к компьютеру, есть уникальный MAC-адрес.

Введите команду ip link в терминал, как показано ниже:

Утилита ip link перечисляет несколько параметров для устройства. Для каждого устройства есть две строки для состояния связи и их свойств. В первой строке будет показано текущее состояние конкретного устройства, максимальная единица передачи, набор флагов на устройстве и т. Д. Аналогично, вторая строка будет указывать текущий MAC-адрес или тип используемого в настоящее время уровня канала связи. В предыдущем примере были найдены MAC-адреса двух используемых в настоящее время LAN-соединений.

Заключение

В этом руководстве показано, как искать MAC-адреса в Linux. Команды в этой статье работают со многими дистрибутивами, включая машины Kali, Arch и Ubuntu Linux.

Источник

Оцените статью
Adblock
detector