Допустим, у меня есть два компьютера, подключенных к одной сети. Я знаю, что с компьютера1 и с включенным общим доступом к файлам я могу пошарить внутри компьютера2. Но допустим, что на компьютере2 есть что-то интересное, доступ к чему можно получить, набрав localhost:9091 в safari. (например, веб-интерфейс transmission). Чтобы получить доступ к этому, мне придется ввести ip_адрес_компьютера2:9091 на компьютере1.
Но как мне узнать ip-адрес компьютера2 без использования компьютера2?
Метод №1
Самый простой способ - зайти на страницу администрирования маршрутизатора. Там будет информация о всех других устройствах в сети, включая IP-адрес.
Метод №2
Если вы знаете сетевое имя компьютера, вы можете ввести его в терминале. Это вернет IP-адрес компьютера.
Метод №3
Если вы не знаете сетевое имя компьютера, есть еще один трюк, который можно проделать с помощью ping
. Найдите свой IP-адрес и маску подсети. Оба должны быть видны в панели "Сетевые настройки" в "Системных настройках". Выровняйте IP-адрес и маску подсети и замените все значения 0
в маске подсети на 255
в том же положении относительно IP-адреса. Например, если у вас следующие IP-адрес и маска подсети, соответственно:
192.168.1.151
255.255.255.0
0
находится в последнем поле маски подсети, поэтому вы заменяете последнее поле IP-адреса на 255
и пингуете его: ping 192.168.1.255
.
Вы должны получить ответ с IP-адресом любого устройства в сети, способного отвечать на пинги.
Метод #4
Последний трюк - использовать команду терминала arp -a
. Она покажет IP и MAC-адреса всех устройств в сети, о которых ей известно.
Последние два приема взяты из статьи this Macworld.
Введите команду
arp -a
Это покажет вам все соединения по одному.
Вопросы: Насколько я знаю IP-адреса другие компьютеры В моя сеть?
Много сетей
Ну, во-первых, ваш компьютер, вероятно, на много сети. Вы можете увидеть это с помощью команды ifconfig`. Есть много информации там, но большинство это подавляющее, так что я бы фильтр выглядит так:
$ ifconfig | grep -E '^[a-z0-9]|inet '
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 172.141.0.10 --> 172.141.0.9 netmask 0xffffffff
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 169.254.146.193 netmask 0xffff0000 broadcast 169.254.255.255
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255
Первое поле левой линии выравниваются являются имена сетевых интерфейсов. Вам WiFi-вероятно, en0
. Мой TunnelBlick VPN для AWS-это utun1
. Мои Системные настройки и GT; обмен > "общий интернет" создано bridge100
для RaspberryPi я получаю интернет от моего MacBook Pro через мой Ethernet донгл.
Считать Протокол IPv4
Потому что вы просили IP-адресам я предполагаю, что адреса IPv4, что тебя волнует. Я на "инет " и (с пробелом), чтобы заблокировать "и inet6" по записи для IPv6. Если вы хотели протоколу IPv6, вы наверное больше знаете о сетях, чем я делаю, и я должен задавать вам вопросы.
Найти хозяев
Позвольте'ы сосредоточиться на том, что bridge100 и принесет вам немного трафика Google. Много людей столкнулись с этой ситуацией, когда они хотят SSH или РДЦ в безголовый компьютер (как **сайт RaspberryPi**) либо на их сеть или привязанный через **обмен в Интернете**. Это's особенно трудно, когда у вас нет истории связи (таблица ARP) с устройства. Для этого вы можете использовать
sudo Nmap по -ЗП 192.168.3.0/24`, что значение bridge100 инет (192.168.3.1) с последней цифры заменяются на "0/24-то". Однако все равно это't стандартный на OSX, так что мы можем установить его с самодельщик.
$ brew install nmap
Warning: nmap-7.31 already installed
$ sudo nmap -sn 192.168.3.0/24
Password:
Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-21 22:03 EST
Nmap scan report for 192.168.3.6
Host is up (0.00025s latency).
Nmap scan report for 192.168.3.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.08 seconds
Из этого можно предположить, что мой RaspberyPi получил ИС 192.168.3.6
по некоторым причинам. Последний раз я подключил его я был в другой подсети и он получил 192.168.2.3
. Что Nmap трюк намного лучше, чем печатать'ping 192.168.3.2...
пинг 192.168.3.6`, пока не найдете его.
Я надеюсь, что помогает.
Этот скрипт должен дать вам то, что вы ищете очень быстро и требует, чтобы Nmap будет установлен. Преимущество в том, что если ваш хост не отвечает на пинг зондов, то Nmap будет все-таки найти хозяина, а других инструментов не будет.
#!/bin/bash
i="en1" # edit this to fit your Network interface
cidr=$(while read y; do echo ${y%.*}".0/$(m=0; while read -n 1 x && [ $x = f ]; do m=$[m+4]; done < <(ifconfig $i | awk '/mask/ {$4=substr($4,3); print $4}'); echo $m )"; done < <(ifconfig $i | awk '/inet[ ]/{print $2}') | head -n 1 | sed s/addr://g | sed 's/\/0//g')
myip=`ifconfig $i | grep "inet " | awk 'NR==1 {print $2}' | sed s/addr://g`
set -x
sudo nmap -n -T4 -PN -p9091 --exclude "$myip" "$cidr"
Сохранить этот скрипт как lookup.sh и называть ее (с переключаться на английский) с
LANG=c bash lookup.sh
Есть несколько других инструментов, которые не были указаны для ознакомления с информацией IP-адрес, если у вас есть имя и вы с помощью mDNS (ака Бонжур в Mac средах). Если вы настроили все по-другому, ваши местные имена сети в хост-имя формы.местные так в начальном примере вы бы искали эвм2.местные
Первый:
dscacheutil -q host -a name <host-name>.local
Например:
% dscacheutil -q host -a name computer2.local
name: computer2.local
ip_address: 10.0.1.6
Другим полезным инструментом является "покопать" (попробуйте например выкопать google.com`), который с помощью нескольких специальных параметров могут быть использованы для запроса уведомления об обработке узлов вашей локальной сети.
% dig @224.0.0.251 -p 5353 <host-name>.local
% dig @224.0.0.251 -p 5353 -x <ip-address>
Чтобы получить только IP-адрес из "покопать" вы можете попробовать:
% dig +short @224.0.0.251 -p 5353 <host-name>.local
Вы также можете использовать команду netstat, чтобы показать сетевые адреса:
roger.moore@WKSTCAL0141 ~
$ netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 127.0.0.1:11235 127.0.0.1:49184 ESTABLISHED
TCP 127.0.0.1:49155 127.0.0.1:49156 ESTABLISHED
TCP 127.0.0.1:49156 127.0.0.1:49155 ESTABLISHED
TCP 127.0.0.1:49184 127.0.0.1:11235 ESTABLISHED
TCP 192.168.10.131:445 192.168.10.119:52624 ESTABLISHED
TCP 192.168.10.131:1433 192.168.10.2:60866 ESTABLISHED
TCP 192.168.10.131:1433 192.168.10.119:52775 ESTABLISHED
TCP 192.168.10.131:3389 192.168.10.119:54473 ESTABLISHED
TCP 192.168.10.131:49154 192.168.10.119:52796 ESTABLISHED
TCP 192.168.10.131:49182 192.168.10.9:52230 ESTABLISHED
TCP 192.168.10.131:49247 192.168.10.6:445 ESTABLISHED
TCP 192.168.10.131:49432 192.168.10.4:1106 ESTABLISHED
TCP 192.168.10.131:49440 192.168.10.4:1106 ESTABLISHED
TCP 192.168.10.131:49451 192.168.10.6:1025 ESTABLISHED
TCP 192.168.10.131:55100 192.168.10.2:445 ESTABLISHED
TCP 192.168.10.131:64558 192.168.10.20:135 TIME_WAIT
TCP 192.168.10.131:64559 192.168.10.20:49158 TIME_WAIT
TCP 192.168.10.131:64566 192.168.10.100:135 TIME_WAIT
TCP 192.168.10.131:64575 192.168.10.100:59811 TIME_WAIT
TCP 192.168.10.131:64581 192.168.10.41:139 TIME_WAIT
TCP 192.168.10.131:64582 192.168.10.3:5357 TIME_WAIT
TCP 192.168.10.131:64585 192.168.10.61:3910 TIME_WAIT
TCP 192.168.10.131:64587 192.168.10.65:3910 TIME_WAIT
TCP 192.168.10.131:64588 192.168.10.9:139 TIME_WAIT
TCP 192.168.10.131:64589 192.168.10.135:2869 ESTABLISHED
TCP 192.168.10.131:64593 192.168.10.6:135 TIME_WAIT
TCP 192.168.10.131:64594 192.168.10.6:1025 TIME_WAIT
TCP 192.168.10.131:64599 192.168.10.100:59811 TIME_WAIT
Вы можете установить Wireshark и начните сканирование на сетевой карте.
Фильтровать результат по: "с nbns-сервера", и вы увидите IP-адрес в верхнем окне.
Если вы хотите узнать имя с помощью IP: http://runakay.blogspot.com/2013/12/obtaining-computer-name-from-ip-address.html