Найдите IP-адрес недавно -загруженного Raspberry Pi

Вы отмечены как awk, надеюсь, Python будет полезен.

Код:

# !/usr/bin/python
import operator
import sys

with open(sys.argv[1], 'rU') as f:
    header = next(f).split()
    for line in f:
        data = line.split()
        numbers = [float(i) for i in data[1:]]
        max_index, max_value = max(
            enumerate(numbers), key=operator.itemgetter(1))

        del numbers[max_index]
        half = len(numbers) >> 1
        numbers.sort()
        if len(numbers) % 2:
            median = numbers[half]
        else:
            median = sum(numbers[half-1:half+1]) / 2.0

        if max_value > median * 2:
            print('{}\t{}\t{}'.format(
                data[0], header[max_index+1], max_value))

Результаты:

g1  s1  20.17
g2  s3  94.0
g5  s2  0.19
g7  s1  2.28
18
11.09.2020, 16:30
6 ответов

Согласно официальной документации здесь

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

ping raspberrypi.local

или если вы хотите адрес ipv4

ping -4 raspberrypi.local
2
18.03.2021, 23:06

Предполагая, что диапазон сети не слишком велик, вы можете принудительно заполнить таблицу ARP, прежде чем просматривать ее. Эти примеры относятся к типичной домашней сети 192.168.1.0 -255

.
nmap -sn 192.168.1.0/24          # Ping scan
arp -na | grep 'at b8:27:eb:'    # Match the RPi devices

В противном случае вы можете искать устройства с открытым портом SSH,

nmap -oG - -p 22 192.168.1.0/24  | grep /open/

Или просмотрите таблицу назначения DHCP вашего маршрутизатора, чтобы узнать, какие адреса он недавно выделил.

23
18.03.2021, 23:06

Вы можете использовать инструмент под названием arp-scan. Он выполняет сканирование, отправляя запросы ARP для отсканированных IP-адресов. Чтобы просканировать вашу подсеть, запустите:

arp-scan -lI eth0

при этом, конечно, подставляя свой интерфейс. Для запуска могут требоваться привилегии суперпользователя. Инструмент также использует базу данных OUI, чтобы показать вам OUI, связанный с ответившими MAC-адресами, довольно часто он также обнаруживает дубликаты IP-адресов.

1
18.03.2021, 23:06

Вы можете узнать MAC-адрес pi до его запуска, если назначите его при подготовке микро -SD-карты. Вы добавляете

smsc95xx.macaddr=hh:hh:hh:hh:hh:hh

(hh — это шестнадцатеричные байты )до конца файла /boot/cmdline.txt. Я нахожу это полезным, чтобы быстро отличить мой Пис. Это переопределяет поведение по умолчанию во время загрузки.

3
18.03.2021, 23:06

Отказ от ответственности :Я являюсь автором этого инструмента.

Попробуйте этот инструмент, написанный именно для этой цели. В настоящее время он работает на Windows. Он прослушивает трафик в сети и составляет список хостов, которые появляются, например, ваш raspberry pi. Он выполняет поиск в IEEE OUI для определения производителя.

https://github.com/jwalthour/passiveAggressor

enter image description here

5
18.03.2021, 23:06

Предположение, что все Pi имеют MAC-адреса, начинающиеся с b8:27:eb, немного ошибочно. Моя (ограниченная )домашняя сеть имеет префикс Pi MAC не только b8:27:eb:..., но также dc:a6:32:...и7e:9e:a0:...(A Pi4 и Pi3b (+? )).

В любом случае я использую nmapили arp-scanдля поиска новых системных IP-адресов. У меня также есть скрипт /etc/crontab @reboot sleep 60, который просто выполняет ifconfig.

Это

  1. дает мне текущий IP (с )и
  2. предупреждает меня, если произошла перезагрузка.

Предполагается, что итоговое электронное письмо cronjob будет доставлено вам.

0
18.03.2021, 23:06

Теги

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