Os Melhores
Conteúdo popular
Mostrando conteúdo com a maior reputação em 01/08/25 in todas as áreas
-
2 pontos
-
1 ponto
-
1 ponto
-
Olá a todos. Este é o editor de local de teleportes, arquivo que controla teletransporte no mundo principal. Editor: open \ edit \ save World_targets.sev \ .clt Edição múltipla Conversão de .clt para .sev e para trás Captando coordenadas do jogo Mostrando pontos teleport no mapa (mapa está em arquivos com Editor) Idiomas russo e inglês World Targets Editor By Luka.rar1 ponto
-
Bom galerinha do suporteGM Presente ai [Conteúdo Oculto] [Conteúdo Oculto] [Conteúdo Oculto]1 ponto
-
Fala ai galera mais uma tradução de um software do nosso amigo LUKA, tinha feito a principio para uso pessoal e para um amigo a algum tempo e agora resolvi postar essa versão traduzida para vocês. Aproveitem e bom uso. =) OBS: está exportando corretamente até onde eu consegui testar na época que eu comecei a tradução, recompilei para acrescentar algumas alterações. Angelica-Maps-Exporter [PT_BR] é uma ferramenta desenvolvida por Luka, projetada para facilitar a exportação de mapas e arquivos relacionados a jogos como Perfect World, Forsaken World, Loma, Jade Dynasty, ESO e mapas HoT. Exportação de Arquivos e suas Relações: O Angelica-Maps-Exporter [PT_BR] permite exportar todos os arquivos relevantes e suas relações usadas pelos mapas dos jogos mencionados. Isso oferece uma visão completa e detalhada dos elementos necessários para criar, modificar ou entender o funcionamento desses mapas. Geração de Arquivos de Servidor: Com o Angelica-Maps-Exporter [PT_BR], os usuários podem gerar arquivos de servidor essenciais, como .hmap, .sev, .octr, .wmap e .npcgen.data. Esses arquivos são fundamentais para a configuração e operação de servidores dedicados para os jogos suportados. Downgrade e Correção de Arquivos .ecm e .gfx: Uma característica única do Angelica-Maps-Exporter [PT_BR] é sua capacidade de realizar o downgrade de arquivos .ecm e .gfx para compatibilidade com versões mais antigas do Perfect World (PW). Além disso, o software pode corrigir arquivos .ecm e .gfx específicos para garantir seu funcionamento adequado dentro do contexto do PW. Benefícios: Facilidade de Uso: Angelica-Maps-Exporter [PT_BR] é projetado com uma interface intuitiva e amigável, tornando-o acessível tanto para usuários iniciantes quanto experientes. Eficiência no Desenvolvimento: Ao automatizar tarefas de geração de arquivos de servidor e manipulação de arquivos específicos do jogo, Angelica-Maps-Exporter [PT_BR] economiza tempo e esforço, permitindo que os desenvolvedores se concentrem mais na criação e aprimoramento de conteúdo. Compatibilidade: Com suporte para uma variedade de jogos populares, Angelica-Maps-Exporter [PT_BR] oferece uma solução abrangente para desenvolvedores e entusiastas de jogos que trabalham com uma variedade de títulos. Conclusão: Angelica-Maps-Exporter [PT_BR] é uma ferramenta indispensável para qualquer pessoa envolvida no desenvolvimento, modificação ou administração de servidores dedicados para jogos como Perfect World, Forsaken World, Loma, Jade Dynasty, ESO e mapas HoT. Sua capacidade de exportar arquivos, gerar arquivos de servidor e realizar tarefas de downgrade e correção o tornam uma escolha valiosa para a comunidade de jogos online. Screenshots: Angelica-Maps-Exporter [PT_BR].rar1 ponto
-
1 ponto
-
Preço - Mensalidade: R$ 100 - Venda: a negociar Algumas funções interessantes que o painel possui: - Visualizador de inventário dos personagens e informações dos itens. - Envio de emblema de clã com update 100% automático para launcher do alex ou cpw. - Sistema de metas de donate, com recompensa em itens/cash, podendo ser de resgate único ou diário. - Missão diária (compartilhe e ganhe) - Full meridiano - Full títulos - Gerenciador para controlar os parâmetros do servidor (sutra, proibir correio e etc.) - Enviar item em massa - Enviar cash em massa - Rastrear item em todos os personagens do jogo (mochila, banqueiro e equipamentos) de forma otimizada - Ver personagens online - Ativar/Desativar trigger em qualquer mapa - Listar/ver todos os personagens do servidor - Listar/ver todas as guilds do servidor com contagem de ips únicos - Resgate do item de lance para TW apenas para guilds predefinidas - Resgate de Contato Imediato e Chamado Urgente para Marechais de clã, semanalmente - Remover senha do banqueiro com confirmação de email - Teletransportar personagem (várias cidades disponíveis) - Proibir criação de contas com alias ([email protected]) - Limitar provedores de email permitidos ao criar conta - Permitir jogadores verem logs dos seus próprios personagens ingame pelo painel - Sistema de pré registro - Proibir login de jogadores no painel com aviso. (útil para quando o servidor ainda está para lançar) - Sistema de permissões para administradores do painel - Adicionar GM a uma conta podendo escolher suas permissões - Códigos promocionais com sistema de cashback para o dono - Permitir o usuário aplicar 2 cupons em uma única doação (as porcentagens somam) - Escolher entre doação por pacotes pré definidos ou preço definido pelo usuário - Gráfico de doações mensais - Gráfico de doações mensais individual para cada usuário - Sistema de Pincode - Preencher dados do item via XML do RAE ao enviar itens - Buscar contas por IP de login1 ponto
-
1 ponto
-
1 ponto
-
Bom, como devem saber, esses arquivos ai já vazaram tem um bom tempo e até hoje eu vejo gente querendo tirar vantagem e cobrar por esses arquivos ou para alterar algo neles. Tudo que você vai precisar substituir dos arquivos da Server Side: GS e GLINKD. Tudo que você vai precisar substituir dos arquivos do Client Side: elementclient.exe e adicionar o arquivo 155.dll na pasta element. Detalhes importantes ! Para funcionamento dos atalhos no inventário é necessário que você puxe os ícones e chame as funções na sua interfaces.pck ou se preferir pode usar uma interfaces que já tenha isso, todas são a mesma coisa só tem alterações visuais em algumas. Para funcionamento da lojinha OFF, é necessário adicionar o botão também na interfaces.pck com a função e um item no inventário com o ID: 65532. Possui mais algumas funções também como: Ganhar chi ao meditar, reset de DG pelo botão, nick colorido entre outros ai, faz tempo que não uso esses arquivos então não me recordo bem de todas as funções que tem. No mais é isso, caso tenha alguma dúvida ou eu tenha esquecido de algo, me corrige ai ou me chama ai no pv ou no discord: ScroL#6530 FILES 155 COM ATALHOS E MAIS.rar1 ponto
-
Esse vídeo vai lhe ensina como configurar uma maquina linux debian 12 VPS OU DEDICADO para criar um servidor private de perfect world, o passo a passo. DOWNLOAD DO SCRIPT: Clique Aqui COMO CONFIGURAR UMA VPS / DEDICADO NO DEBIAN 12 PASSO A PASSO PARA INSTALAÇÃO E PERFECT WORLD1 ponto
-
1 ponto
-
Boa noite galera, já existe esse editor aqui no fórum.. porem esse aqui ta traduzido e eu inclui o mapa de Quedanunca(a78) no editor. Estou postando pq pedi no grupo esse mapa e ninguém tinha, ai eu fiz e adicionei RegionEditorPTBR.rar1 ponto
-
Salve galera!! e @Master =) Venho trazer para vocês um Rebuild da ferramenta World Targets Editor do nosso amigo Luka =). Agora o Editor de World Targets foi aprimorado e recompilado para oferecer suporte à comunidade. Agora, com uma tradução completa para o Português do Brasil, a nossa ferramenta tornou-se ainda mais acessível e fácil de usar para quem quer criar seus pontos de teleporte em Perfect World. Principais Novidades: Tradução para o Português do Brasil: Todo o conteúdo do Editor de World Targets foi traduzido para o Português do Brasil, proporcionando uma experiência mais amigável para usuários de língua portuguesa. Suporte à Versão 1.5.5 v156 do Perfect World: Adicionamos um offset que permite puxar coordenadas diretamente da versão 1.5.5 v156 do Perfect World. Agora, você pode aproveitar ao máximo as funcionalidades do Editor com a versão mais recente do jogo e com mais facilidade na hora de editar =). Como Usar o Editor de World Targets: Para utilizar o Editor de World Targets, siga as seguintes etapas simples: Obtenha os Arquivos Necessários: Localize o arquivo "world_targets.txt" em seu cliente, geralmente armazenado no diretório "element/maps/world/". Adquira o arquivo "world_targets.sev" do lado do servidor, disponível em "/home/gamed/config/world_targets.sev". Organize seus Arquivos: Recomendo criar uma pasta separada para manter os arquivos organizados e evitar confusões. Abra o Editor: Execute o Editor de World Targets. No menu "Arquivos", escolha "Abrir world_targets.sev" para o arquivo do servidor e "Abrir world_targets.txt" para o arquivo do cliente. OU Utilize a abordagem simplificada: clique nos ícones de pasta azul para abrir o arquivo "sev" e no ícone de pasta amarela para abrir o arquivo "txt". Tutorial de como fazer um ponto de Teleporte mais detalhadamente em breve em vídeo. virus total: 1e514ed786a876baaccbc382b013d7c0411ba6ff9d733751f5c85f35212015d3 NEX WORLD TARGETS EDITOR.rar1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
PWSERVER 1.2.6 V7 - V55 – → SERVER: [Conteúdo Oculto] → CLIENTE: [Conteúdo Oculto] DESCRIÇÃO: O Perfect World foi lançado nos servidores internacionais em 1º de dezembro de 2008, chegando ao Brasil no ano seguinte. O primeiro episódio adicionado foi o Império Ancestral, que introduziu várias mecânicas novas: CRÉDITOS : PW-DEV PWSERVER 1.3.1 V10 - V55 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Depois de criar o Mundo Perfeito, os deuses se afastaram para se curarem de todas as feridas causadas pelas disputas travadas entre si. Aproveitando-se disso, as criaturas chamadas “Sem-Almas” resolveram invadir o mundo e envolvê-lo em trevas. Agora todos os habitantes precisam se unir para defender o seu lar. PWSERVER 1.3.8 V29 - V78 (world2) → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] PWSERVER 1.4.2 V27 - V75 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: O lançamento em servidores chineses ocorreu em setembro de 2009, servidores internacionais ocorreu em dezembro de 2009. e por final servidor do Brasil ocorreu em julho de 2010. PWSERVER 1.4.4 V61 - V93 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: O lançamento nos servidores chineses ocorreu em setembro de 2011, nos servidores internacionais em 2 de novembro de 2011. O lançamento no servidor oficial em russo ocorreu em 20 de outubro de 2011 (simultaneamente com a adição do Genesis). PWSERVER 1.4.5 – V63 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: No início dos tempos, espectros sombrios viviam à solta, sem objetivo a não ser espalhar o caos pelo universo. Pan Gu, o deus criador, sabia que a existência desses seres era uma ameaça ao seu Mundo Perfeito, mas ficou com pena de tais criaturas e de sua falta de controle, optando por não destruí-las. Ao invés disso, ele criou uma nova dimensão, o Submundo, no qual ergueu o solitário reino de Morai. Ali, Pan Gu criou uma raça especial de humanos. PWSERVER 1.4.5 -V69 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: O lançamento nos servidores chineses ocorreu em junho de 2012, nos servidores internacionais em 8 de agosto de 2012. O lançamento no servidor oficial em russo ocorreu em 3 de outubro de 2012 (simultaneamente com a adição de Imperial Fury). PWSERVER 1.4.6 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Uma nova era teve início em Perfect World com a expansão Ascensão da Dinastia, em que quatro nações distintas deram início a uma verdadeira corrida armamentista para se estabelecerem como as maiores potências do Mundo Perfeito PWSERVER 1.4.7 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Após a ascensão do Comandante do Submundo, as terras de Pan Gu foram completamente devastadas durante a Guerra da Dinastia. Como resultado, os Sem-Almas se tornaram mais fortes do que nunca, afetando completamente todas as nações e corrompendo as cinco raças que habitavam o mundo, que agora se encontrava à beira do colapso. PWSERVER 1.4.8 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] PWSERVER 1.5.0 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Suplemento para atualizar Ascensção da Dinastia. O lançamento em servidores chineses ocorreu em 2 de abril de 2013, em servidores internacionais em 19 de junho de 2013 (simultaneamente com a adição de Ascensão Espiritual). PWSERVER 1.5.1 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: O mundo de Pan Gu está em constante expansão e com esse episódio chegou o momento de seus heróis descobrirem Novos Horizontes! Com essa expansão, além de novas instâncias, novos mapas, novas habilidades e muitas outras coisas, chegou o Renascimento PWSERVER 1.5.3 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Após grandes batalhas, parecia que as forças do bem finalmente estavam próximas da vitória. O número dos Sem-Almas em Pan Gu diminuía cada vez mais e os heróis finalmente acreditaram que a secular batalha da luz contra as trevas estava perto do fim... Até que um Alvorecer Sombrio revelou a triste verdade! PWSERVER 1.5.5 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] DESCRIÇÃO: Com a chegada de Elysium, o sonho da casa própria se tornará realidade. Ao conquistar uma moradia, você garantirá acesso um cantinho só seu, que poderá ser mobiliado e decorado à vontade. Aventure-se em missões diárias e acumule recursos para evoluir sua humilde residência e transformá-la em uma verdadeira mansão! Mas saiba que para ter acesso a tudo isso, você precisa de um personagem de no mínimo nível 90, com 35.000 de fama. ------------------------------------------------------------------------------------------------------------------------------------------------------------------ PWSERVER 1.6.5 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] PWSERVER 1.7.3 → SERVER: [Conteúdo Oculto] → CLIENTE : [Conteúdo Oculto] PWSERVER 1.7.4 → SERVER: AGUARDANDO LINKS → CLIENTE : AGUARDANDO LINKS PWSERVER 1.8.0 → SERVER: AGUARDANDO LINKS → CLIENTE : AGUARDANDO LINKS Links atualizados em 15/11/20240 pontos
-
SysChat Este script estava a venda no meu site, mas decidir parar de vender para compartilhar aqui no fórum para os membros VIPs Mas afinal, oque quiabos é syschat? Sabe aqueles avisos no chat: Fulano de tal refinou o item tal pra +7. Fulano de tal iniciou sua jornada no servidor tal? então, eu fui um dos (se não O primeiro) a criar isto em 2020-2021 Em resumo, SysChat é um simples script que monitora em tempo real todos os logs do seu servidor e anúncia alguns eventos no chat do jogo (se você quiser) Segue a lista de as funções atuais: Aqui um print de como é as configurações: A instalação é bem simples Faça upload da pasta syschat para seu servidor e der permissão Abra o arquivo script.sh e configure o caminho do seu log Abra o arquivo config.php e configure as portas do seu servidor e os avisos que deseja ativar/desativar e suas respectivas mensagens Pronto, agora bastar iniciar o script com ./start.sh! Você pode usar cores personalizadas nos textos (em alguns canais não funciona) {cor-1} = branco {cor-2} = preto {cor-3} = verde {cor-4} = amarelo {cor-5} = azul {cor-6} = rosa {cor-7} = roxo {cor-8} = vermelho {cor-9} = azul ciano {cor-10} = preto mais escuro Exemplo de uso em um texto: {player} refinou {cor-4}{item} para {cor-3}+{level} Canais: 0 = Geral 1 = Global 2 = Grupo 3 = clã 6 = Laranja (Chat Topo) 7 = Comercio 9 = Sistema 10 = Azul (Chat Topo) 11 = Vermelho 12 = Laranja 13 = Branco 14 = Branco 15 = Interservidor Exemplo do script rodando no servidor: Limitações que eu lembro: Na parte de aviso de refino/leilão o nome do item é puxado do pwdatabase, ou seja itens criados manualmente (id não existente no pwdatabase) não irá funcionar Na parte de aviso do refino/leilão não é linkado o item e nem aparece as estrelinhas ☆☆☆ Isso pode ser resolvido mas precisa exporta os itens usando o RAE e adptar o syschat.php Funciona bem até a 1.5.5 – Não sei se funciona nas versões mais novas O script foi desenvolvido em 2021 e desde então não foram implementadas novas soluções ou funções adicionais. Se você quiser criar uma nova versão para este projeto, sua contribuição será bem-vinda. Download: (somente membros VIP’s podem baixar) syschat.zip0 pontos
-
somente trocar os arquivos server e client, lembrando que o dds vc encontra na surface não tem segredo, postei isso pq não vi isso aqui e quero agregar algo ao grupo é isso padawns ! nw 2 nações 1.5.5.rar-1 pontos
-
Primeira versão do nick colorido 1.5.5 que usei no pw tiger 2018~2019 disponibilizo sem edições, confira a data .data 155nick.rar-1 pontos
-
E aí, galerinha! Já que deixaram vazar isso aqui, vou já postar no fórum. Quem quiser, é só baixar. Funcionalidades: Comandos: - findall - encontrar e contar todos os itens - findids - encontrar itens a partir da configuração [Opções] - findid itemid - encontrar item a partir do parâmetro no console - replaceid - substituir IDs dos itens a partir da configuração [ReplaceID] [ReplaceIDPet] [ReplaceIDEgg] - replaceparts - substituir partes dos itens a partir da configuração [ReplaceItemParts] - deleteskills - excluir todas as habilidades, exceto portal da cidade, de todos os jogadores - process_skills - excluir habilidades especificadas a partir da configuração [Skills] - money-gold - substituir dinheiro/ouro a partir da configuração [MoneyGold] - dividend2gold - trocar dividendo e ouro de loja - exportrole roleid - imprimir dados da função em formato XML - exporttable table_name - exportar todos os registros da tabela em formato XML - exportuser userid - imprimir dados do usuário e suas funções em formato XML - exportoctet table_name keyid - imprimir dados octet da tabela - importoctet table_name keyid octet - substituir dados octet na tabela Download-1 pontos
-
Bom uso a todos! Version: Python 3.13 Install: python3 -m pip install scapy #Notes Update Rate Limiting 03-01-25 Traffic Anomaly Detection 03-01-25 Packet Filtering 03-01-25 Add SSH monitoring 28-12-24 Config.txt # Configurações gerais de monitoramento e proteção # Defina as portas para monitoramento (exemplo: HTTP, SSH) PORTS_TO_MONITOR=80,7777,2106 # Se o bloqueio por HWID deve ser ativado BLOCK_HWID=true # Limites de pacotes MAX_PACKET_SIZE=1024 MAX_CONNECTIONS=100 CONNECTION_TIME_WINDOW=10 # Em segundos # Limitações de pacotes TCP e UDP MAX_TCP_PACKETS=500 MAX_UDP_PACKETS=300 # Configurações para proteção SSH SSH_PORT=22 SSH_BLOCK_THRESHOLD=5 # Número de tentativas antes de bloquear SSH_BLOCK_DURATION=3600 # Duração do bloqueio (em segundos) SSH_LOCKDOWN_THRESHOLD=10 # Número de tentativas excessivas antes de lockdown SSH_LOCKDOWN_DURATION=86400 # Duração do lockdown (1 dia) SSH_IP_ATTEMPTS_WINDOW=60 # Janela de tempo (em segundos) para tentativas de login SSH # Limitação de taxa de pacotes para evitar DDoS RATE_LIMIT_THRESHOLD=1000 # Limite de pacotes por IP DDoS_DETECTION_WINDOW=10 # Janela de tempo para detectar DDoS DDoS_CONNECTION_THRESHOLD=500 # Limite de conexões simultâneas que aciona a detecção de DDoS main.py import os import time import hashlib import uuid import platform import json import re from scapy.all import sniff, TCP, UDP, IP from collections import defaultdict from threading import Thread # Словари для хранения данных трафика и блокировок traffic_data = defaultdict(lambda: {"timestamps": [], "tcp_count": 0, "udp_count": 0, "packet_count": 0}) blocked_hwids = set() # Множество заблокированных HWID blocked_ips = defaultdict(lambda: {"block_time": None, "attempts": 0, "block_duration": 0}) # Блокировка IP # Стандартные настройки config = { "MAX_PACKET_SIZE": 1024, "MAX_CONNECTIONS": 100, "CONNECTION_TIME_WINDOW": 10, "PORTS_TO_MONITOR": [80, 7777, 2106], "MAX_TCP_PACKETS": 500, "MAX_UDP_PACKETS": 300, "BLOCK_HWID": True, "SSH_PORT": 22, "SSH_BLOCK_THRESHOLD": 5, # Порог для неудачных попыток входа SSH "SSH_BLOCK_DURATION": 3600, # Длительность блокировки SSH "SSH_LOCKDOWN_THRESHOLD": 10, # Количество чрезмерных попыток перед блокировкой "SSH_LOCKDOWN_DURATION": 86400, # Длительность блокировки (1 день) "SSH_IP_ATTEMPTS_WINDOW": 60, # Временное окно для попыток входа SSH "RATE_LIMIT_THRESHOLD": 1000, # Порог пакетов на IP "DDoS_DETECTION_WINDOW": 10, # Временное окно для обнаружения DDoS "DDoS_CONNECTION_THRESHOLD": 500 # Порог одновременных подключений } LOG_FILE = "logs.json" # Функция для загрузки конфигурации из файла def load_config(): global config if not os.path.exists("config.txt"): print("[INFO] Файл config.txt не найден. Используются настройки по умолчанию.") return with open("config.txt", "r") as file: for line in file: line = line.strip() if not line or line.startswith("#"): continue key, value = line.split("=") key = key.strip() value = value.split("#")[0].strip() if key in ["PORTS_TO_MONITOR"]: config[key] = list(map(int, value.split(","))) elif key in ["BLOCK_HWID"]: config[key] = value.lower() == "true" elif key in ["SSH_PORT", "SSH_BLOCK_THRESHOLD", "SSH_BLOCK_DURATION", "MAX_PACKET_SIZE", "MAX_CONNECTIONS", "CONNECTION_TIME_WINDOW", "MAX_TCP_PACKETS", "MAX_UDP_PACKETS", "RATE_LIMIT_THRESHOLD", "DDoS_DETECTION_WINDOW", "DDoS_CONNECTION_THRESHOLD", "SSH_LOCKDOWN_THRESHOLD", "SSH_LOCKDOWN_DURATION", "SSH_IP_ATTEMPTS_WINDOW"]: config[key] = int(value) else: config[key] = value # Функция для записи статистики def log_statistics(ip, hwid, reason, data): log_entry = { "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "ip": ip, "hwid": hwid, "reason": reason, "tcp_count": data["tcp_count"], "udp_count": data["udp_count"] } try: with open(LOG_FILE, "r+") as f: logs = json.load(f) logs.append(log_entry) f.seek(0) json.dump(logs, f, indent=4) except Exception as e: print(f"[ERROR] Ошибка при сохранении в лог: {e}") # Функция для генерации уникального HWID def get_hwid(): mac_address = get_mac_address() system_uuid = get_system_uuid() unique_string = f"{mac_address}-{system_uuid}-{platform.system()}" return hashlib.sha256(unique_string.encode()).hexdigest() # Функция для получения MAC-адреса def get_mac_address(): try: mac = uuid.getnode() mac_address = ':'.join(("%012X" % mac)[i:i + 2] for i in range(0, 12, 2)) return mac_address except Exception: return "UNKNOWN_MAC" # Функция для получения UUID системы def get_system_uuid(): try: if platform.system() == "Linux": with open('/sys/class/dmi/id/product_uuid', 'r') as f: return f.read().strip() elif platform.system() == "Windows": import subprocess result = subprocess.check_output('wmic csproduct get uuid', shell=True).decode() return result.split('\n')[1].strip() return platform.node() except Exception: return "UNKNOWN_UUID" # Функция для мониторинга пакетов def monitor_packet(packet): if packet.haslayer(IP): src_ip = packet[IP].src current_time = time.time() hwid = get_hwid() # Инициализация данных трафика data = traffic_data[src_ip] if current_time not in data["timestamps"]: data["timestamps"].append(current_time) # Удаление меток времени, выходящих за пределы окна data["timestamps"] = [ ts for ts in data["timestamps"] if current_time - ts <= config["CONNECTION_TIME_WINDOW"] ] # Ограничение скорости: подсчет пакетов, полученных от IP data["packet_count"] += 1 # Обнаружение DDoS: ограничение пакетов на IP за определенный период времени if data["packet_count"] > config["RATE_LIMIT_THRESHOLD"]: print(f"[ALERT] IP {src_ip} отправляет слишком много пакетов. Возможная атака DDoS!") blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Превышен лимит пакетов", data) # Блокировка по TCP/UDP пакетам if packet.haslayer(TCP): data["tcp_count"] += 1 elif packet.haslayer(UDP): data["udp_count"] += 1 if data["tcp_count"] > config["MAX_TCP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество TCP пакетов", data) print(f"[ALERT] Избыточное количество TCP пакетов: {src_ip}") elif data["udp_count"] > config["MAX_UDP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество UDP пакетов", data) print(f"[ALERT] Избыточное количество UDP пакетов: {src_ip}") elif len(data["timestamps"]) > config["MAX_CONNECTIONS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество соединений", data) print(f"[ALERT] Избыточное количество соединений: {src_ip}") # Функция для мониторинга трафика SSH def monitor_ssh_traffic(): print("[INFO] Мониторинг трафика SSH...") try: sniff(filter=f"tcp port {config['SSH_PORT']}", prn=process_ssh_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг SSH прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга SSH: {e}") # Функция для обработки пакетов SSH def process_ssh_packet(packet): if packet.haslayer(IP) and packet.haslayer(TCP): src_ip = packet[IP].src handle_ssh_attempt(src_ip) # Функция для обработки попыток входа SSH def handle_ssh_attempt(ip): current_time = time.time() data = blocked_ips[ip] # Если IP был заблокирован на более длительный период if data["block_time"] and current_time - data["block_time"] < data["block_duration"]: return # Увеличиваем счетчик попыток входа SSH data["attempts"] += 1 if data["attempts"] > config["SSH_BLOCK_THRESHOLD"]: block_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_BLOCK_DURATION"] # Длительность блокировки if data["attempts"] > config["SSH_LOCKDOWN_THRESHOLD"]: lockdown_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_LOCKDOWN_DURATION"] # Длительность блокировки # Функция для блокировки IP def block_ip(ip): print(f"[INFO] IP {ip} заблокирован за слишком много попыток входа SSH.") # Функция для применения блокировки для IP def lockdown_ip(ip): print(f"[INFO] IP {ip} попал в блокировку за слишком много попыток входа SSH.") # Функция для разблокировки IP после истечения срока блокировки def unblock_expired_ips(): current_time = time.time() for ip in list(blocked_ips.keys()): if current_time - blocked_ips[ip]["block_time"] > config["SSH_BLOCK_DURATION"]: print(f"[INFO] IP {ip} разблокирован.") del blocked_ips[ip] # Функция для начала мониторинга def start_monitoring(): print(f"[INFO] Мониторинг портов: {config['PORTS_TO_MONITOR']}") try: ports_filter = " or ".join([f"tcp port {port} or udp port {port}" for port in config["PORTS_TO_MONITOR"]]) sniff(filter=ports_filter, prn=monitor_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга: {e}") if __name__ == "__main__": load_config() # Запуск мониторинга SSH в отдельном потоке ssh_thread = Thread(target=monitor_ssh_traffic, daemon=True) ssh_thread.start() start_monitoring()-1 pontos