Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 03/01/25 em Posts

  1. Base Firewall usado no D-Proxy Sistema Operacional: Alma Linux 8 Módulos Ativos + Proteção contra ataques SYN Flood + Proteção contra ataques UDP Flood + Gerenciamento automático de bloqueios + Filtragem baseada em portas + Registro de logs + Execução automática de regras de firewall + Módulos como Fail2Ban, slowloris ou iptables com rate limiting podem ser implementados opcionalmente. como copilar? sudo dnf install -y gcc-c++ libpcap-devel firewalld g++ -o firewall_monitor firewall_monitor.cpp -lpcap -lpthread para deixar rodando 24 Hrs sudo dnf install -y screen screen -S firewall_monitor sudo ./firewall_monitor Ctrl + A, depois solte e aperte D config.txt ports=29000,3306,80,39000,22 firewall_monitor.cpp #include <iostream> #include <pcap.h> #include <unordered_map> #include <ctime> #include <cstring> #include <fstream> #include <sstream> #include <chrono> #include <thread> #include <vector> #include <algorithm> #include <cstdint> #include <arpa/inet.h> #include <netinet/ip.h> #include <netinet/tcp.h> #include <netinet/udp.h> #include <netinet/ip_icmp.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> // Ayarlar const std::string device = "eth0"; // Ağ arayüzü const int max_conn_per_sec = 200; // Saniye başına bağlantı limiti const int block_time = 86400; // Engelleme süresi (saniye cinsinden) (24 saat) const std::string log_file = "logs.txt"; // Günlük dosyası const std::string config_file = "config.txt"; // Yapılandırma dosyası // Bağlantı sayım yapıları struct ConnInfo { int count; std::time_t last_seen; }; std::unordered_map<std::string, ConnInfo> conn_count; // IP başına bağlantı sayacı std::unordered_map<std::string, ConnInfo> syn_count; // IP başına SYN sayacı std::unordered_map<std::string, ConnInfo> udp_count; // IP başına UDP sayacı std::unordered_map<std::string, std::time_t> blocked_ips; // Engellenen IP'ler ve süresi std::vector<uint16_t> ports; // Korumaya alınacak bağlantı noktaları (yapılandırma dosyasından yüklenir) // Günlük kaydı işlevi void log_message(const std::string& message) { std::ofstream log_stream(log_file, std::ios::app); if (log_stream.is_open()) { auto now = std::chrono::system_clock::now(); std::time_t now_time = std::chrono::system_clock::to_time_t(now); log_stream << "[" << std::ctime(&now_time) << "] " << message << std::endl; } } // IP engelleme işlevi void block_ip(const std::string& ip) { std::string command = "sudo firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"" + ip + "\" reject'"; system(command.c_str()); system("sudo firewall-cmd --reload"); blocked_ips[ip] = std::time(nullptr) + block_time; // Engelleme süresi belirlenir log_message("IP " + ip + " 24 saat boyunca engellendi."); } // Süresi dolmuş IP engellerini kaldıran işlev void unblock_expired_ips() { auto now = std::time(nullptr); for (auto it = blocked_ips.begin(); it != blocked_ips.end(); ) { if (now >= it->second) { std::string command = "sudo firewall-cmd --permanent --remove-rich-rule='rule family=\"ipv4\" source address=\"" + it->first + "\" reject'"; system(command.c_str()); system("sudo firewall-cmd --reload"); log_message("IP " + it->first + " engeli kaldırıldı."); it = blocked_ips.erase(it); } else { ++it; } } } // Paket işleme işlevi void process_packet(u_char* user, const struct pcap_pkthdr* pkthdr, const u_char* packet) { struct ip* ip_header = (struct ip*)(packet + 14); // Ethernet başlığını (14 bayt) atlar struct tcphdr* tcp_header = (struct tcphdr*)(packet + 14 + (ip_header->ip_hl << 2)); struct udphdr* udp_header = (struct udphdr*)(packet + 14 + (ip_header->ip_hl << 2)); struct icmp* icmp_header = (struct icmp*)(packet + 14 + (ip_header->ip_hl << 2)); char src_ip[INET_ADDRSTRLEN]; inet_ntop(AF_INET, &(ip_header->ip_src), src_ip, INET_ADDRSTRLEN); uint16_t dst_port = 0; if (ip_header->ip_p == IPPROTO_TCP) { dst_port = ntohs(tcp_header->th_dport); } else if (ip_header->ip_p == IPPROTO_UDP) { dst_port = ntohs(udp_header->uh_dport); } // IP engellenmiş mi kontrol et if (blocked_ips.find(src_ip) != blocked_ips.end()) { return; // Engellenmiş IP'den gelen paketleri yok say } // Bağlantı noktası koruma listesinde mi kontrol et if (std::find(ports.begin(), ports.end(), dst_port) != ports.end()) { auto now = std::time(nullptr); // Eski bağlantıları temizle for (auto it = conn_count.begin(); it != conn_count.end(); ) { if (now - it->second.last_seen > 1) { it = conn_count.erase(it); } else { ++it; } } // SYN paketlerini say ve limit aşılırsa IP'yi engelle if (ip_header->ip_p == IPPROTO_TCP && (tcp_header->th_flags & TH_SYN)) { syn_count[src_ip].count++; syn_count[src_ip].last_seen = now; if (syn_count[src_ip].count > max_conn_per_sec) { block_ip(src_ip); syn_count.erase(src_ip); return; } } // UDP paketlerini say ve limit aşılırsa IP'yi engelle if (ip_header->ip_p == IPPROTO_UDP) { udp_count[src_ip].count++; udp_count[src_ip].last_seen = now; if (udp_count[src_ip].count > max_conn_per_sec) { block_ip(src_ip); udp_count.erase(src_ip); return; } } } } int main() { // Başlatma mesajı std::cout << "Anti-DDoS başlatılıyor..." << std::endl; log_message("Anti-DDoS başarıyla başlatıldı."); char errbuf[PCAP_ERRBUF_SIZE]; pcap_t* handle = pcap_open_live(device.c_str(), BUFSIZ, 1, 1000, errbuf); if (handle == nullptr) { std::cerr << "Aygıt açılırken hata: " << errbuf << std::endl; log_message("Aygıt açılırken hata: " + std::string(errbuf)); return 1; } // Ana döngü while (true) { pcap_loop(handle, -1, process_packet, nullptr); unblock_expired_ips(); // Süresi dolmuş IP engellerini kaldır std::this_thread::sleep_for(std::chrono::seconds(1)); } pcap_close(handle); return 0; }
    5 pontos
  2. 2 pontos
  3. sTASKedit em PT BR .rarpuder ajudar com os erros de traduções basta colocar o texto errado = o texto certo ou parecido localization.rar sTASKedit em PT BR .rar
    1 ponto
  4. venho trazer para vocês uma customização para o cliente 155 fação bom uso, venda proibida!
    1 ponto
  5. Interface reduzida de 1.5.5 pra 1.3.6 clássica, com alguns adicionais; Façam bom proveito. Download
    1 ponto
  6. Boa tarde galera, hj eu vim contribuir no fórum. Ultimamente estou estudando bastante as coisinhas do servidor, e ontem peguei pra arrumar o inventário com atalhos que postaram aqui no fórum. Ele ficou assim: Pra colocar ele basta ter os arquivos que colocaram aqui no forum. Depois baixe: E por fim, coloquei eles no seu interfaces.pck Pronto. Creditos : @Fulano (Que me ajudou a entender como isso funciona). @scrol (Por disponibilizar os arquivos com atalhos no forum) inventory_f.xml inventory_m.xml
    1 ponto
  7. Editor fácil de usar. Como começar com a interface: 1) Extrair os arquivos e interfaces.pck surfaces.pck 2) Definir no editor onde o diretório raiz dos arquivos descompactados 3) Editar elementos da interface UIEdit (pdev).rar
    1 ponto
  8. Boa tarde, estou limpando meu computador e vou anexar algumas coisas interessantes que fui fazendo ao longo dos anos para facilitar meu trabalho de desenvolvimento. Essa ferramenta eu usei na minha versão 1.5.5 para trabalhar com mapas. Complementando o tutorial: Além de você conseguir o tamanho correto dos mapas base_region e local_region, você conseguirá unificar os minimaps para usar em ferramentas como: editor de region, precinct, path, npcgen e afins. A ferramenta transforma isso: Em isso: A ferramenta é em python, e não fiz uma interface, você precisa ter o python instalado em seu PC (só dar um google). E instalar a lib pillow: Use alguma dessas opções: Depois basta configurar: Na própria imagem tem as descrilções. Se você perceber cada minimapa (surfaces/minimaps) tem 256x256 pixels, Para saber o tamanho do mapa, você precisará multiplicar 256 pela quantidade de imagens até a borda do mapa, isso você poderá fazer visualmente com base na imagem do ingame. No meu caso no a106 foram 8 horizontal, e 8 na vertical, então ficou 8x256² = 2048x2048, mas se for 512x512 você coloca ali, se for 1024x1024.. assim por diante. Salve e dê o comando usando CMD do windows: ou Pronto, sua imagem estará pronta, dai você conseguirá usar nos programas que informei acima. Basta você configurar como o exemplo que dei acima no arquivo de configuração xml. Nota que o meu mapa está -2000, porque mapas acima de 1024 eu costumo usar 1000, 2000 e afins, para tirar um pouco a borda do mapa. Mas você pode sim usar -2048, porque é o limite do mapa. Baixar a ferramenta: unify.py
    1 ponto
  9. Abrir o editor AngelicaMapEditor. Obter as coordenadas iniciais (X.Y.Z) no modelo 3D. Mover o modelo 3D para uma nova posição e, em seguida, obter as novas coordenadas (X.Y.Z). Clicar em "Calcular" para gerar os seguintes resultados: Direção do Vetor: DirX = 1.0000 DirY = 0.0000 DirZ = 0.0000 Vetor Up: UpX = 0.0000 UpY = 1.0000 UpZ = 0.0000 Fix de seleção.rar
    1 ponto
  10. O Editor de NW (Nation War) para Perfect World é uma ferramenta poderosa que permite aos jogadores e administradores de servidores personalizar os mapas da famosa Guerra da Dinastia, uma das batalhas em larga escala mais emocionantes do jogo Perfect World. Com este editor, é possível alterar a configuração territorial, ajustando o posicionamento de bases, modificando terrenos e criando novas dinâmicas de combate. Esse editor oferece uma interface intuitiva para que até mesmo aqueles com pouca experiência possam manipular os mapas, permitindo ajustes nos pontos de interesse, tais como portões, torres e áreas estratégicas. Além disso, o Editor de NW facilita a criação de novos cenários para manter as guerras dinâmicas e desafiadoras, proporcionando uma experiência sempre renovada aos jogadores. Seja para modificar pequenos detalhes ou criar uma guerra completamente nova, o Editor de NW é a ferramenta essencial para quem deseja explorar todo o potencial tático e criativo de Perfect World nas batalhas territoriais, transformando as guerras de nação em um evento ainda mais épico. Download: Clique Aqui
    1 ponto
  11. Tools muito fácil de usar selecione a daimon que você quer editar, upar e mude os valores em level/Lucky points / Status / Atributos e Elementos, depois clique em "Get genie" para gerar o octets. Octet Daimon.zip
    1 ponto
  12. Guerra das nações creio que para muito o melhor evento até hoje criado no Perfect World, eu tenho editor criado por nada menos que o LOKO, estou postando mapas reduzidos com 8x8 e duas capitais como mostra na imagem a baixo, também faço edição de redução por encomenda apenas $100 reais do jeito que o cliente desejar. NWreduzida.zip
    1 ponto
  13. Ascensão Sombria.psd Bônus de Pré-Registro.psd
    -1 pontos

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...