Sniff de rede com socket e scapy

304 views
Skip to first unread message

Kanazuchi

unread,
Jun 30, 2014, 10:11:32 AM6/30/14
to python...@googlegroups.com
Bom dia pessoas, 
estou escrevendo um pequeno sistema para monitorar uma interface de rede e enviar os dados para um banco de dados, para posteriormente montar graficos e relatórios de consumos da rede.

Estou usando o scapy para sniffar a rede e pegar campos dos pacotes ip e tcp como origem, destino, portas, tamanho do pacote, e o tempo dele. Assim como numeros de sequencia a ack.
O problema é que o processamento usando scapy fica um pouco alto, queria usar um socket pra isso pra ver se diminui.

Alguém tem algum exemplo de sniff com socket + scapy ou sabe de material bom pra leitura, estou lendo a documentação do scapy e do socket pra tentar acelerar.
Se alguém tiver algo eu agradeço desde já.

Douglas Camata

unread,
Jun 30, 2014, 10:27:44 AM6/30/14
to python...@googlegroups.com
Só uma dica: o que acha que salvar os pacotes os pacotes em algum lugar e criar uma task que processa essa lista de pacotes de tempo em tempo? Acho que resolveria seu problema de processamento sempre alto. 


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Douglas Camata
Graduando em Ciência da Computação (UENF)

Skype: douglas_camata
-----------------------------------
Linux User #509211

Edgar Gabaldi

unread,
Jun 30, 2014, 10:49:18 AM6/30/14
to python...@googlegroups.com
Eu usaria a libpcap do C para sniffar. Não é difícil integrar com python depois.

Guilherme Rezende

unread,
Jun 30, 2014, 11:22:40 AM6/30/14
to python...@googlegroups.com
Conhece o Umit Project?
Tem um manipulador de pacotes, com sniff e gatilhos, 
pode servir de referencia.
Tem tambem o UMPA, uma versão ao scapy, pode te ajudar também.

Qualquer duvida sobre pode perguntar =]


[]s

Guilherme Bessa Rezende
Software Engineer|DevOP
[ IT, Security, Telecom, ]
    

firebits

unread,
Jun 30, 2014, 11:58:29 AM6/30/14
to python...@googlegroups.com

Tem esse carinha aqui:

http://www.secdev.org/projects/scapy/

@firebitsbr

Kanazuchi

unread,
Jun 30, 2014, 12:31:01 PM6/30/14
to python...@googlegroups.com
@Douglas Camata
O processamento não está alto para enviar os dados para o banco, estou executando essa operação em um thread separada. Ele esta alto justamente no momento de sniffar a rede.

@Edgar Gabaldi 
Eu pensei em usar C, mas queria tentar resolver apenas com python, mas não esta descartada essa opção.

@Guilherme Rezende
Vou olhar esse projeto sim. 

@firebits
Já estou usando o scapy, alias, ele ta no titulo ;)

Eu sei que da pra criar sockets L3 usando python, só não sei fazer isso ainda.
Vou continuar procurando uma solução que use apenas os modulos que já existem para o python.
Vou continuar olhando materiais sobre sockets em python. A unica coisa que não quero é usar pcap file, tenho limitações de disco nos equipamentos que vão rodar esse sniff, por isso envio os dados para um banco externo.

Se encontrar algo posto aqui pra ficar na thread da lista.

firebits

unread,
Jun 30, 2014, 12:56:55 PM6/30/14
to python...@googlegroups.com
@Kanazuchi sem problemas, brother! Eu estava no mobile e não vi thread, devido correria! :)

Qualquer dúvida, conta com agente! :)

@firebitsbr


--

firebits

unread,
Jun 30, 2014, 12:59:10 PM6/30/14
to python...@googlegroups.com
@guilherme eu achei que o Umit project fosse aquela GUI para nmap, antes de zenmap aparecer oficialmente, mas valeu a sugestão!

Parece ser um ótimo projeto, bora virar noites no PoC! :)

@firebitsbr

Guilherme Rezende

unread,
Jun 30, 2014, 1:04:58 PM6/30/14
to python...@googlegroups.com
@firebits

Isso, ele começou como frontend para o Nmap, mas após alguns Google Summer of Codes ele evoluiu muito!
Hoje o principal projeto do Umit é o OpenMonitor, mas estamos em um processo de reativação dos outros projetos


[]s
Reply all
Reply to author
Forward
0 new messages