Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Как по ip узнать mac адрес


Автор: ibz07 16.11.2009, 16:08
Как по ip узнать mac адрес?

Автор: Void 16.11.2009, 16:19
grep $ip_addr /proc/net/arp | awk '{print $4}'

Автор: ibz07 16.11.2009, 17:34
$4 - Вместо этого указывать IP ?

Автор: Void 16.11.2009, 17:41
Цитата(ibz07 @  16.11.2009,  19:34 Найти цитируемый пост)
$4 - Вместо этого указывать IP ? 

Нет, это 4-е поле. Посмотрите на содержимое /proc/net/arp.
Переменная же $ip_addr намекает.

Автор: ibz07 16.11.2009, 17:56
Код

grep $ip_addr='172.16.0.1' /proc/net/arp | awk '{print $4}'

типа так?
Код

cat /proc/net/arp

Тут мой адрес-шлюза.

Автор: Void 16.11.2009, 19:23
Цитата(ibz07 @  16.11.2009,  19:56 Найти цитируемый пост)
типа так?

Нет, grep 172.16.0.1 ...
Цитата(ibz07 @  16.11.2009,  19:56 Найти цитируемый пост)
Тут мой адрес-шлюза. 

Это расшифровывается как «там только мой адрес и адрес шлюза»?

Автор: ibz07 16.11.2009, 19:42
Цитата(Void @ 16.11.2009,  19:23)
Цитата(ibz07 @  16.11.2009,  19:56 Найти цитируемый пост)
типа так?

Нет, grep 172.16.0.1 ...
Цитата(ibz07 @  16.11.2009,  19:56 Найти цитируемый пост)
Тут мой адрес-шлюза. 

Это расшифровывается как «там только мой адрес и адрес шлюза»?

Он показует мак-адрес шлюза.

Автор: BlackRu 16.11.2009, 19:50
ibz07,  есть отличный пакет macchanger, можно не только посмотреть, но и поменять, если необходимо.

Автор: Void 16.11.2009, 20:08
Цитата(ibz07 @  16.11.2009,  21:42 Найти цитируемый пост)
Он показует мак-адрес шлюза. 

А чей нужен? Если свой, то при чём тут IP?

Автор: ibz07 16.11.2009, 20:10
Цитата(Void @ 16.11.2009,  20:08)
Цитата(ibz07 @  16.11.2009,  21:42 Найти цитируемый пост)
Он показует мак-адрес шлюза. 

А чей нужен? Если свой, то при чём тут IP?

Мене нужно чужой мак-адрес по IP.

Автор: Void 16.11.2009, 20:12
Цитата(ibz07 @  16.11.2009,  22:10 Найти цитируемый пост)
Мене нужно чужой мак-адрес по IP. 

Попробуйте сначала пропинговать тот компьютер, чтобы ARP поднял его MAC.
Очевидно, если компьютер в другом сегменте сети, отделённом маршрутизатором, узнать MAC по IP невозможно.

Автор: ibz07 16.11.2009, 23:04
172.16.26.1 - это узол до которого я подключен до этого сегмента.
После 
Код

grep 172.16.26.1 /proc/net/arp | awk '{print $4}'

Выводит Мак-адрес моего шлюза, а если другой IP, то не выводит Мак адрес, а у файле 
Код

cat /proc/net/arp

Прописан мой mac-адрес шлюза.
Я так понял, что на ближайшем узле стоит маршрутизатор.
Как можно определить количество маршрутизаторов, или наличие маршрутизатора на пути к определительной машине.

Автор: Void 16.11.2009, 23:31
Цитата(ibz07 @  17.11.2009,  01:04 Найти цитируемый пост)
Как можно определить количество маршрутизаторов, или наличие маршрутизатора на пути к определительной машине.

traceroute

Автор: ibz07 17.11.2009, 00:03
Цитата(Void @ 16.11.2009,  23:31)
Цитата(ibz07 @  17.11.2009,  01:04 Найти цитируемый пост)
Как можно определить количество маршрутизаторов, или наличие маршрутизатора на пути к определительной машине.

traceroute

Код

 1  IP_Шлюз(IP_Шлюз)  0.201 ms  0.179 ms  0.171 ms
 2  * * *
 3  * * *
********
30  * * *

Я так понял что один маршрутизатор или ноль?
А можно так проверить диапазон IP?

Автор: ibz07 22.11.2009, 02:10
Цитата(Void @ 16.11.2009,  16:19)
grep $ip_addr /proc/net/arp | awk '{print $4}'


grep  - поиск по файлу /proc/net/arp с ip-адресом $ip_addr$4 отобразить 4 поле.
Я в этой конструкции вижу только поик по файлу, а в файле записан только один мак-адрес шлюза.
Откуда он узнает, мак-адрес удаленой машине?


Сколько я не пингую машин оно всеравно выводит только один мак-адрес моего шлюза? 

Автор: Void 22.11.2009, 10:40
ibz07, MAC-адрес можно узнать только у машины, находящейся в одном широковещательном домене с вами. Вы работу Ethernet, IP, ARP себе представляете?

Вот так, например, выглядит пресловутый файл у меня на шлюзе:
Цитата
root@OpenWrt:~# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.1.164    0x1         0x2         00:24:8C:XX:XX:XX     *        br-lan
192.168.1.106    0x1         0x2         00:0D:60:XX:XX:XX     *        br-lan

Автор: ibz07 22.11.2009, 16:08
Эта команда traceroute показует, что пакеты передаются напрямую, а мак-адреса в моем файле так и нету.

Как определить по ip доменное имя?
Опшето этот ip должен быть под тем же доменом, как и я.

Автор: shutffl 23.11.2009, 00:42
Так-с.. Самое простое, что можно сделать для определения MAC<->IP - это
Код

arp -a | grep 172.16.x.y

Это выдаст как раз отчет о наличие(отсутствие) записей на машине.

А доменное имя:
Код

whois <результат grep>

Автор: ibz07 23.11.2009, 02:23
whois 172.16.26.193
Код


OrgName:    Internet Assigned Numbers Authority 
OrgID:      IANA
Address:    4676 Admiralty Way, Suite 330
City:       Marina del Rey
StateProv:  CA
PostalCode: 90292-6695
Country:    US

NetRange:   172.16.0.0 - 172.31.255.255 
CIDR:       172.16.0.0/12 
NetName:    IANA-BBLK-RESERVED
NetHandle:  NET-172-16-0-0-1
Parent:     NET-172-0-0-0-0
NetType:    IANA Special Use
NameServer: BLACKHOLE-1.IANA.ORG
NameServer: BLACKHOLE-2.IANA.ORG
Comment:    This block is reserved for special purposes.
Comment:    Please see RFC 1918 for additional information.
Comment:    http://www.arin.net/reference/rfc/rfc1918.txt
RegDate:    1994-03-15
Updated:    2007-11-27

OrgAbuseHandle: IANA-IP-ARIN
OrgAbuseName:   Internet Corporation for Assigned Names and Number 
OrgAbusePhone:  +1-310-301-5820
OrgAbuseEmail:  [email protected]

OrgTechHandle: IANA-IP-ARIN
OrgTechName:   Internet Corporation for Assigned Names and Number 
OrgTechPhone:  +1-310-301-5820
OrgTechEmail:  [email protected]

# ARIN WHOIS database, last updated 2009-11-21 20:00
# Enter ? for additional hints on searching ARIN's WHOIS database.

Где тут доменное имя?

ping 172.16.26.193 -c 3

Код

PING 172.16.26.193 (172.16.26.193) 56(84) bytes of data.
64 bytes from 172.16.26.193: icmp_seq=1 ttl=64 time=0.358 ms
64 bytes from 172.16.26.193: icmp_seq=2 ttl=64 time=0.339 ms
64 bytes from 172.16.26.193: icmp_seq=3 ttl=64 time=0.349 ms

--- 172.16.26.193 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.339/0.348/0.358/0.022 ms


cat /proc/net/arp - Выводит только MAC-adress моего шлюза

arp -a | grep 172.16.26.193 Результата нету.

traceroute 172.16.26.193 

Код

 1  * * *
 2  * * *
 3  * * *
 * * * * * *

Как вижу между нами нечего нету.

grep 172.16.26.193 /proc/net/arp | awk '{print $4}' - Ничего не выводит
В файле /proc/net/arp только MAC-адрес моего шлюза

grep 172.16.26.1 /proc/net/arp | awk '{print $4}' - Выводит MAC-адрес моего шлюза




Автор: MAKCim 23.11.2009, 09:45
Цитата(ibz07 @  23.11.2009,  02:23 Найти цитируемый пост)
Где тут доменное имя?

man host

Цитата(ibz07 @  23.11.2009,  02:23 Найти цитируемый пост)
Как вижу между нами нечего нету.

traceroute -n


Цитата(ibz07 @  23.11.2009,  02:23 Найти цитируемый пост)

traceroute 172.16.26.193

хост точно в одной локалке?
судя по traceroute'у не очень ;)

Автор: ibz07 23.11.2009, 10:13
Цитата(MAKCim @ 23.11.2009,  09:45)
Цитата
traceroute 172.16.26.193

хост точно в одной локалке?
судя по traceroute'у не очень ;)

Ну наши ip адреса в одном диапазоне, даже отличаются последняя цифра в радиусе 10.

Автор: Imple 23.11.2009, 10:22
Цитата(ibz07 @  23.11.2009,  13:13 Найти цитируемый пост)
Ну наши ip адреса в одном диапазоне, даже отличаются последняя цифра в радиусе 10.

А что используется? Ethernet? Маска сети какая?

Автор: shutffl 24.11.2009, 20:02
Лажа какая-то.. whois все правильно выдал.. 10/8, 172.16/16 и 192.168/16 стандартные подсети..

MAKCim, прав на счет traceroute.. Судя по выводу - нет либо маршрута, либо самой машины..
Код

arp -a

выдает соответствие MAC и IP.. То есть в таблицу попадают ВСЕ адреса, с которыми была связь, например, по пингу.. Прошедшие адреса.. Например, у меня на роутере:
Код

# arp -a
? (172.16.254.250) at 00:00:21:21:b7:fe [ether] on eth1
? (62.*.**.***) at 00:03:fa:6f:df:c0 [ether] on eth0
? (62.*.**.***) at 00:80:48:17:03:99 [ether] on eth0
? (172.16.0.254) at 00:22:15:6e:a4:7c [ether] on eth1
? (172.16.254.250) at 00:00:21:21:b7:fe [ether] on eth2
? (172.16.203.142) at 00:1c:f0:d1:03:2d [ether] on eth1

Это те компы, что сейчас общаются с моим роутером..

Автор: Imple 24.11.2009, 20:17
Так, вывод ip ro sh в студию, пожалуйста.

Автор: ibz07 24.11.2009, 22:40
Результат: ip ro sh
Код

ip ro sh
192.168.188.4 via 172.16.26.197 dev eth1  src 172.16.26.198 
78.152.160.91 dev ppp0  proto kernel  scope link  src 94.230.197.148 
172.16.26.196/30 dev eth1  proto kernel  scope link  src 172.16.26.198  metric 1 
192.168.188.0/29 via 172.16.26.197 dev eth1  proto static 
169.254.0.0/16 dev eth1  scope link  metric 1000 
172.16.0.0/12 via 172.16.26.197 dev eth1  proto static 
default dev ppp0  scope link 


Добавлено @ 22:50
Я уже пинговал 
Код

172.16.26.233
172.16.26.225
172.16.26.217
172.16.26.213
172.16.26.209
172.16.26.205
172.16.26.201
172.16.26.193
172.16.26.189
172.16.26.185
172.16.26.181


Код

arp -a

Только Mac-адрес моего шлюза.



Автор: Imple 25.11.2009, 06:21
Так вы в разных сетях. Ваша сеть - 172.16.26.196/30. (172.16.26.196 по 172.16.26.199, .196 и 199 - адрес сети и бродкаст, .197 - шлюз, .198 - ваш компьютер). Никакие mac-адреса вам не узнать  smile 

Автор: MAKCim 25.11.2009, 09:44
Цитата(shutffl @  24.11.2009,  20:02 Найти цитируемый пост)
То есть в таблицу попадают ВСЕ адреса, с которыми была связь, например, по пингу..

нет, только для хостов вашей локальной сети

Автор: Imple 25.11.2009, 10:43
ibz07, предлагаю для начала изучить устройство работы Ethernet, IP, ARP, ICMP и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)