
Criar instruções Cypher CREATE para o Neo4j a partir de arquivos netstat de múltiplas máquinas.

Gráficos ajudam a identificar anomalias e padrões em grandes conjuntos de dados.
Este script pega informações do netstat de vários hosts e as formata de maneira a torná-las importáveis para o Neo4j.
O Neo4j pode ser consultado para encontrar conexões para determinados hosts, a partir de certos hosts, descobrir o uso ou protocolos e muito mais.
Já existem alguns arquivos no diretório example para que você possa testar a ferramenta.
Você também pode encontrar consultas de exemplo que ajudarão a ter uma ideia básica das possibilidades da pesquisa.
Atualmente, a ferramenta é testada com a saída do netstat de sistemas Windows usando o comando 'netstat -an'
https://docs.docker.com/install/linux/docker-ce/centos/
https://docs.docker.com/compose/install/
git clone https://github.com/trinitor/netstat2neo4j.git /opt/netstat2neo4j/
cd /opt/netstat2neo4j/
docker-compose up -d
https://ip:7474
usuário: neo4j
senha: neo4j
copie todos os arquivos de saída do netstat (*.txt) para /opt/netstat2neo4j/script/import/
cd /opt/netstat2neo4j/script/
bash csv2neo4j.sh
as instruções cypher necessárias podem ser encontradas em create_database.txt
navegue para https://localhost:7474
Copie o conteúdo de create_database.txt
Cole na barra de comandos da interface do neo4j
MATCH (src)-[:DEPENDS_ON]->(dst)
WHERE src.ip STARTS WITH '192_168_'
RETURN src, dst
Há também um arquivo query.txt na pasta example.
P: Isso é redundante. Você não sabe que existem outros projetos?
R: Sei. Isso não é novo ou especial. Existem projetos gratuitos, tutoriais e produtos comerciais baseados em agentes para desenhar mapas e até impor regras.
Alguns exemplos:
Este pequeno projeto não é de forma alguma um substituto.
P: Criar saídas netstat em todas as máquinas é difícil. Você tem uma solução?
R: Embora você possa coletar as informações com remoção WMI/PowerShell, não recomendo ter uma conta que tenha direitos de administrador total em todos os sistemas.
Use seu gerenciamento de configuração para agendar a criação do netstat ou use tarefas agendadas. Isso está fora do escopo deste pequeno projeto.
Se você quiser usar uma conta com todas as chaves do reino:
https://ijustwannared.team/2019/04/22/network-connection-footprinting-with-wmi-and-neo4j/
P: Você deve estar errado. O Neo4j deve ser capaz de ler arquivos CSV diretamente. Por que você está criando as instruções você mesmo?
R: Você está certo. É possível importar arquivos CSV diretamente.
https://neo4j.com/developer/guide-import-csv/