Сканирование 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
*текст*
- жирный,
~текст~
- курсивный,
-текст-
- _текст_
- подчеркнутый