178.237.187.66:53389
82.116.48.210:50000
213.184.149.46:60000
109.74.133.46:4455
78.110.245.206:3398
89.109.52.230:1001
88.135.48.69:3398
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2) #2 Second Timeout
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print 'port OPEN'
else:
print 'port CLOSED, connect_ex returned: '+str(result)
import re
with open('traffic.txt', 'r') as file:
fi = file.readlines()
re_ip = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
re_port = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$\:(\d+)")
for line in fi:
ip = re.findall(re_ip,line)
port = re.findall(re_port,line)
print port , ip
parallel -j10 --colsep ':' '
nmap_result=$(nmap -p {2} {1} | grep "open")
if [ -n "$nmap_result" ]; then
echo "{1}:{2} - OPEN" >> results.log
else
echo "{1}:{2} - CLOSED" >> results.log
fi
' < servers.txt
import subprocess
# Функция для проверки доступности IP:port с помощью psping
def check_ip(ip_port):
try:
print(f"Проверяем доступность {ip_port}", end='')
# Выполняем команду psping
result = subprocess.run(['psping', ip_port], capture_output=True, text=True)
# Проверяем, есть ли в выводе сообщение об успешном пинге
if "(0% loss)" in result.stdout:
print(f"\rПроверяем доступность {ip_port} - доступен")
return True
if "(25% loss)" in result.stderr or "50% loss" in result.stdout:
print(f"\rПроверяем доступность {ip_port} - потери пакетов")
return True
if "(100% loss)" in result.stdout:
print(f"\rПроверяем доступность {ip_port} - недоступен")
return False
except Exception as e:
print(f"Ошибка при проверке {ip_port}: {e}")
return False
# Чтение IP:port из файла и запись доступных в другой файл
def check_ips_from_file(input_file, output_file):
with open(input_file, 'r') as infile, open(output_file, 'w') as outfile:
for line in infile:
ip_port = line.strip() # Убираем лишние пробелы и символы новой строки
if check_ip(ip_port):
outfile.write(ip_port + '\n') # Записываем доступный IP:port в файл
# Указываем имена файлов
input_file = 'ip.txt'
output_file = 'ipUP.txt'
# Запускаем проверку
check_ips_from_file(input_file, output_file)
import socket
import re
import subprocess
import platform
# Функция для проверки доступности IP
def is_ip_reachable(ip):
# Параметры для команды ping в зависимости от операционной системы
param = '-n' if platform.system().lower() == 'windows' else '-c'
command = ['ping', param, '1', ip]
return subprocess.call(command) == 0
# Функция для проверки доступности IP:port
def check_ip_port(ip, port):
if not is_ip_reachable(ip):
return False
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2) # 2 секунды таймаут
result = sock.connect_ex((ip, port))
sock.close()
return result == 0
# Чтение списка IP:port из файла
with open('ip.txt', 'r') as file:
lines = file.readlines()
# Регулярные выражения для извлечения IP и порта
re_ip_port = re.compile(r"^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d+)$")
# Список для хранения доступных IP:port
available_ips = []
# Проверка каждого IP:port
for line in lines:
match = re_ip_port.match(line.strip())
if match:
ip, port = match.groups()
port = int(port)
if check_ip_port(ip, port):
available_ips.append(f"{ip}:{port}")
# Запись доступных IP:port в новый файл
with open('ipUP.txt', 'w') as file:
for ip_port in available_ips:
file.write(ip_port + '\n')
print("Проверка завершена. Доступные IP:port записаны в файл ipUP.txt")