Přejít na hlavní obsah

Jak zjistit IP adresy zařízení v místní síti pomocí Pythonu

Zjistit IP adresy všech zařízení v místní síti se může ukázat jako užitečný úkol pro systémové administrátory, vývojáře a prostě každého, kdo chce získat informace o své síti. Existuje mnoho způsobů, jak to udělat, a jedním z nejúčinnějších a nejjednodušších způsobů je použití Pythonu.

Python nabízí výkonné nástroje pro práci se sítí, jako je knihovna socket. Pomocí ní můžete vytvořit zásuvku a připojit se k zařízení na jeho IP adrese. Abychom však poznali IP adresy všech zařízení v síti, musíme použít trochu jiný přístup.

Pro vyhledání IP adres v místní síti můžeme použít modul socket Python a jeho metody gethostname a gethostbyname. Pomocí metody gethostname dostaneme název hostitele a poté můžeme použít metodu gethostbyname k získání jeho IP adresy.

Jak identifikovat IP adresy zařízení v místní síti

Chcete-li určit IP adresy zařízení v místní síti pomocí Pythonu, můžete použít modul socket .

1. Importujte modul socket :

import socket

2. Získejte jméno hostitele:

host_name = socket.gethostname()

3. Získejte IP adresu hostitele:

ip_address = socket.gethostbyname(host_name)

4. Vytáhněte IP adresu hostitele:

print("IP адрес хоста:", ip_address)

Tento kód umožňuje určit IP adresu vašeho zařízení v místní síti. Pokud však potřebujete identifikovat IP adresy jiných zařízení v síti, můžete použít funkci getaddrinfo() .

1. Importujte modul socket :

import socket

2. Zadejte název hostitele sítě (v tomto případě použijte prázdný řádek k získání všech dostupných hostitelů):

host_name = ''

3. Zadejte číslo portu (tento příklad používá port 80):

port = 80

4. Získejte všechny adresy v dané síti:

address_list = socket.getaddrinfo(host_name, port)

5. Vytáhněte IP adresy:

for address in address_list:print("IP адрес:", address[4][0])

Tento kód umožňuje získat a stáhnout IP adresy všech zařízení v místní síti dostupných na zadaném portu.

Pomocí Pythonu a modulu socket tedy můžete identifikovat IP adresy zařízení v místní síti a použít je k různým účelům, například k interakci s jinými zařízeními v síti.

Použití Pythonu k vyhledání IP adres

Jedním ze způsobů, jak hledat IP adresy v místní síti pomocí Pythonu, je použití knihovny socket . Tato knihovna Vám umožňuje vytvářet socket a odesílat síťové požadavky, abyste získali informace o připojených zařízeních. Níže je uveden příklad kódu v Pythonu, který používá knihovnu socket k vyhledání IP adres v místní síti:

# Импортирование библиотеки socketimport socket# Метод для поиска IP адресов в локальной сетиdef find_ip_addresses():# Создание сокетаs = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(("8.8.8.8", 80))local_ip_address = s.getsockname()[0]# Получение списка IP адресовip_addresses = []for i in range(1, 255):ip_address = f''try:# Отправка запросаs.sendto(b"ping", (ip_address, 1))s.settimeout(0.1)data, addr = s.recvfrom(1024)# Добавление IP адреса в списокip_addresses.append(ip_address)except socket.timeout:pass# Закрытие сокетаs.close()return ip_addresses# Вызов метода для поиска IP адресовip_addresses = find_ip_addresses()for ip_address in ip_addresses:print(ip_address)

Dalším způsobem, jak hledat IP adresy v místní síti pomocí Pythonu, je použití knihovny scapy . Tato knihovna poskytuje flexibilnější možnosti pro práci se síťovými balíčky. Níže je uveden příklad kódu v Pythonu, který používá knihovnu scapy k vyhledání IP adres v místní síti:

# Импортирование библиотеки scapyfrom scapy.all import ARP, Ether, srp# Метод для поиска IP адресов в локальной сетиdef find_ip_addresses():# Создание пакета ARParp = ARP(pdst="192.168.1.1/24")ether = Ether(dst="ff:ff:ff:ff:ff:ff")packet = ether/arp# Отправка пакета и получение ответаresult = srp(packet, timeout=3, verbose=0)[0]# Получение списка IP адресов из ответаip_addresses = []for sent, received in result:ip_addresses.append(received.psrc)return ip_addresses# Вызов метода для поиска IP адресовip_addresses = find_ip_addresses()for ip_address in ip_addresses:print(ip_address)

Použití Pythonu k vyhledání IP adres v místní síti může pomoci při správě sítě, sledování připojených zařízení a detekci potenciálních bezpečnostních hrozeb. Díky flexibilitě a výkonu Pythonu je možné tento proces automatizovat a získat informace o všech zařízeních v místní síti. Nezapomeňte zajistit bezpečnost své sítě a nezneužívat získané informace.