
Sensor de tráfego de rede
Tsusen (津波センサー) é um sensor de rede independente criado para coletar informações do tráfego regular vindo do exterior (ou seja, Internet) diariamente (ex.: varreduras em massa, scanners de serviços, etc.). Quaisquer perturbações devem ser monitoradas de perto, pois podem se tornar uma boa base de previsão de eventos futuros. Por exemplo, a exploração de uma vulnerabilidade recém-descoberta em um serviço web (ex.: Heartbleed) deve gerar um "pico" visível no número total de "invasores" na porta de rede afetada.
O seguinte conjunto de comandos deve deixar seu sensor Tsusen em funcionamento (pronto para uso com as configurações padrão e interface de monitoramento any, além da interface de relatórios HTTP na porta padrão 8339):
sudo apt-get install python-pcapy
sudo pip install python-geoip python-geoip-geolite2
cd /tmp/
git clone https://github.com/stamparm/tsusen.git
cd tsusen/
sudo python tsusen.py
Os resultados do sensor são armazenados localmente em arquivos CSV diariamente (ex.: 2015-10-27.csv) com gravação periódica (flush) dos dados do dia atual (ex.: a cada 15 minutos). Exemplos de resultados são os seguintes:
proto dst_port dst_ip src_ip first_seen last_seen count
TCP 1080 192.165.63.181 222.186.56.107 1446188056 1446188056 1
TCP 1080 192.165.63.181 64.125.239.78 1446191096 1446191096 1
TCP 1081 192.165.63.181 111.248.100.185 1446175412 1446175412 1
TCP 1081 192.165.63.181 111.248.102.150 1446183374 1446183374 1
TCP 1081 192.165.63.181 36.225.254.129 1446170512 1446170512 1
TCP 1095 192.165.63.181 36.229.233.199 1446177047 1446177047 1
TCP 111 192.165.63.181 80.82.65.219 1446181028 1446181028 1
TCP 111 192.165.63.181 94.102.52.44 1446181035 1446181035 1
TCP 11122 192.165.63.181 222.186.56.39 1446198391 1446198391 1
TCP 11211 192.165.63.181 74.82.47.43 1446200598 1446200598 1
TCP 135 192.165.63.181 1.160.12.156 1446163293 1446163294 3
TCP 135 192.165.63.181 104.174.148.124 1446178211 1446178212 3
TCP 135 192.165.63.181 106.242.5.179 1446180063 1446180064 3
TCP 135 192.165.63.181 173.30.55.76 1446184279 1446195229 6
TCP 135 192.165.63.181 174.100.28.2 1446179470 1446202911 9
TCP 135 192.165.63.181 218.253.225.163 1446174945 1446195646 9
TCP 135 192.165.63.181 219.114.66.114 1446169303 1446183947 6
TCP 135 192.165.63.181 222.186.56.43 1446165515 1446202626 5
...
onde proto (ex.: na primeira entrada é TCP) representa o protocolo utilizado pelo iniciador vindo de src_ip (ex.: na primeira entrada é 222.186.56.107) em direção ao nosso serviço <dst_ip:dst_port> (ex.: na primeira entrada é 192.165.63.181:1080), first_seen representa o horário da primeira tentativa de conexão (daquele dia) no formato Unix timestamp (ex.: na primeira entrada é 1446188056, que corresponde a Fri, 30 Oct 2015 06:54:16 GMT), last_seen representa a última tentativa de conexão (daquele dia) (ex.: na primeira entrada é o mesmo valor de first_seen), enquanto count contém o número total de tentativas de conexão.
Os resultados podem ser acessados através da interface de relatórios HTTP (Nota: a porta padrão é 8339):
Este software é fornecido sob uma Licença MIT. Consulte o arquivo LICENSE anexo para mais informações.