Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
network-attack-detection — Detecção avançada de ataques de varredura de portas, DoS e malware utilizando técnicas de aprendizado de máquina. | Kitploit
Ferramentas/GitHubGitHub/lucadibello/network-attack-detection
Análise de VulnerabilidadesColeta de InformaçõesSegurança de RedeAprendizado de MáquinaDetecção de IntrusãoAprendizado e EducaçãoDetecção de AnomaliasAnálise de Logs

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
lucadibello/network-attack-detection

network-attack-detection

Detecção avançada de ataques de varredura de portas, DoS e malware utilizando técnicas de aprendizado de máquina.

Ver RepositórioSite
133há 3 anosAinda não revisado

Detecção de Ataques de Rede usando Machine Learning

Descrição

Este projeto utiliza técnicas de machine learning para classificar ataques de rede, como Varredura de Portas (Port Scanning), Negação de Serviço (Denial of Service - DoS) e malware. Os dados de entrada estão no formato Netflow V9, que é um formato padrão utilizado pela Cisco.

A classificação é realizada usando os seguintes modelos:

  • K-Nearest Neighbors (KNN)
  • Support Vector Machine Classifier (SVC) com kernel RBF (Radial Basis Function)
  • Pipeline com Principal Component Analysis (PCA) e Support Vector Machine Classifier (SVC)
  • Bagging Classifier (baseado em SVC com kernel RBF)
  • Random Forest Classifier
  • Extra Trees Classifier
  • Neural Network (MLPClassifier)

O projeto é implementado em Python usando Jupyter Notebook e várias bibliotecas populares, incluindo UMAP, Pandas, NumPy, Scikit-Learn, Matplotlib e Seaborn.

Notebook

O notebook está acessível aqui para visualização direta no GitHub. Alternativamente, você pode usar o NbViewer para acessar o notebook através deste link.

Apresentação

A apresentação Keynote em formato PDF está acessível aqui.

Conjuntos de dados

O conjunto de dados usado neste projeto está no formato NetFlow V9 (documentado pela Cisco, disponível aqui). Consiste em dois arquivos: train_net.csv e test_net.csv.

O arquivo train_net.csv fornece informações sobre quando um alerta específico provavelmente ocorrerá, enquanto o arquivo test_net.csv é usado apenas para fins de teste e não contém uma variável alvo para avaliar o desempenho do modelo.

O conjunto de dados é bastante grande:

  • train_net.csv: aproximadamente 4 milhões de pacotes (de 14'066 hosts de rede únicos)
  • test_net.csv: aproximadamente 2 milhões de pacotes (de 6'186 hosts de rede únicos)

Características do conjunto de dados

  • FLOW_ID: Um identificador único para o fluxo
  • PROTOCOL_MAP: Uma string que representa o protocolo usado no fluxo; os valores possíveis incluem "ICMP", "TCP", "UDP", "IGMP", "GRE", "ESP", "AH", "EIGRP", "OSPF", "PIM", "IPV6-ICMP", "IPV6-IP", "IPV6-ROUTE", "IPV6-FRAG", "IPV6-NONXT", "IPV6-OPTS" e outros.
  • L4_SRC_PORT: O número da porta de origem no fluxo; os valores possíveis variam de 0 a 65535.
  • IPV4_SRC_ADDR: O endereço IPv4 de origem no fluxo, representado como uma string em notação decimal pontuada (por exemplo, "192.168.0.1").
  • L4_DST_PORT: O número da porta de destino no fluxo; os valores possíveis variam de 0 a 65535.
  • IPV4_DST_ADDR: O endereço IPv4 de destino no fluxo, representado como uma string em notação decimal pontuada (por exemplo, "192.168.0.2").
  • FIRST_SWITCHED: O momento em que o fluxo começou, medido em segundos desde a época (1º de janeiro de 1970).
  • FLOW_DURATION_MILLISECONDS: A duração do fluxo em milissegundos.
  • LAST_SWITCHED: O momento em que o fluxo terminou, medido em segundos desde a época (1º de janeiro de 1970).
  • PROTOCOL: O protocolo usado no fluxo; os valores possíveis incluem 1 (ICMP), 6 (TCP), 17 (UDP) e outros.
  • TCP_FLAGS: Os flags TCP definidos no fluxo, representados como uma string binária (por exemplo, "100101").
  • TCP_WIN_MAX_IN: O tamanho máximo de janela anunciado (em bytes) para tráfego de entrada.
  • TCP_WIN_MAX_OUT: O tamanho máximo de janela anunciado (em bytes) para tráfego de saída.
  • TCP_WIN_MIN_IN: O tamanho mínimo de janela anunciado (em bytes) para tráfego de entrada.
  • TCP_WIN_MIN_OUT: O tamanho mínimo de janela anunciado (em bytes) para tráfego de saída.
  • TCP_WIN_MSS_IN: O tamanho máximo de segmento (em bytes) para tráfego de entrada.
  • TCP_WIN_SCALE_IN: O fator de escala de janela para tráfego de entrada.
  • TCP_WIN_SCALE_OUT: O fator de escala de janela para tráfego de saída.
  • SRC_TOS: O valor Type of Service (ToS) para o endereço IP de origem.
  • DST_TOS: O valor Type of Service (ToS) para o endereço IP de destino.
  • TOTAL_FLOWS_EXP: O número total de fluxos esperados.
  • MIN_IP_PKT_LEN: O comprimento mínimo (em bytes) dos pacotes IP no fluxo.

Autores do conjunto de dados

Maria-Elena Mihailescu, Darius Mihai, Mihai Carabas, Mikolaj Komisarek, Marek Pawlicki, Witold Holubowicz, Rafal Kozik: The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset. Sensors 21(13): 4319 (2021)

Link Kaggle

Baixar ferramenta
  • MAX_IP_PKT_LEN: O comprimento máximo (em bytes) dos pacotes IP no fluxo.
  • TOTAL_PKTS_EXP: O número total de pacotes esperados no fluxo.
  • TOTAL_BYTES_EXP: O número total de bytes esperados no fluxo.
  • IN_BYTES: O número de bytes recebidos no fluxo.
  • IN_PKTS: O número de pacotes recebidos no fluxo.
  • OUT_BYTES: O número de bytes enviados no fluxo.
  • OUT_PKTS: O número de pacotes enviados no fluxo.
  • ANALYSIS_TIMESTAMP: O momento em que o fluxo foi analisado, medido em segundos desde a época (1º de janeiro de 1970).
  • ANOMALY: Um flag binário que indica se o fluxo contém uma anomalia (1 = verdadeiro, 0 = falso).
  • ALERT: (disponível apenas no conjunto de treinamento) O tipo de ataque que foi detectado no fluxo atual. Estes são os valores possíveis:
    • None: Nenhum ataque foi detectado
    • Port scanning: O fluxo é um ataque de varredura de portas
    • Denial of Service: O fluxo é um ataque de DoS
    • Malware: O fluxo é um ataque de malware
  • ID: Um identificador único para o fluxo.