Сканер IP на Python

Сканирование IP-адресов в локальной сети или в интернете часто используется для мониторинга сети, безопасности и управления устройствами. Этот процесс позволяет определить активные устройства в сети, их IP-адреса и, иногда, дополнительные данные, такие как MAC-адреса. В этой статье мы рассмотрим несколько способов создания сканера IP-адресов на языке Python, используя различные библиотеки и подходы.

Использование библиотеки

Для установки используйте команду:
pip install getmac
Пример скрипта
from getmac import get_mac_address
import os, socket

def writeFile(text):
    f = open('ips.txt', 'a')
    f.write(text + '\n')
    f.close()

def getHost(ip):
    try:
        return socket.gethostbyaddr(ip)[0]
    except:
        return 'none'

def splitIp(ip_range='192.168.0.1-254'):
    ip, end_ip = ip_range.split('-')
    arr = ip.split('.')
    subnet = arr[0] + '.' + arr[1] + '.' + arr[2] + '.'
    start_ip = int(arr[3])
    return subnet, start_ip, int(end_ip)

def ipScan(ip_range='192.168.0.1-254'):
    subnet, start_ip, end_ip = splitIp(ip_range)
    for i in range(start_ip, end_ip):
        ip = subnet + str(i)
        content = os.popen('ping -n 1 -i 1 -w 2 ' + ip).read()
        if content.find('TTL=') != -1:
            output = ip + ' | ' + get_mac_address(ip=ip) + ' | ' + getHost(ip)
            print(output)
            writeFile(output)

ipScan('192.168.0.1-254')
Запуск скрипта
py ip_scan.py
Поделится:
*текст* - жирный, ~текст~ - курсивный, -текст- - зачеркнутый, _текст_ - подчеркнутый
IP-адрес: 3.145.63.148
Часовой пояс: Asia/Almaty
Подробнее

Сервисы

Страницы

Информация