2015-12-01 5 views
1

Мне нужно проанализировать файл .pcap, чтобы обнаружить возможные сканирование SYS. Мне нужно иметь возможность отображать IP-адрес любых IP-адресов, которые отправили в 3 раза больше SYS-пакетов в виде количества полученных SYS + ACK-пакетов. Теперь у меня есть общее представление о том, как это реализовать. Моя проблема в том, что я не могу получить различные пакеты SYS (как отличить от отправленных/полученных пакетов) при анализе файла pcap. Я посмотрел на другие сообщения, и documentation, но не повезло.чтение отправленных и полученных пакетов SYS и ACK с dpkt и python

Я начал программу питона, которая начинается как-нибудь так:

import dptk 

    //take in command line arguement 
    file = arg 

     openFile = open(file) 
     pcap = dpkt.pcap.Reader(openFile) 

    //not sure about these two lines 
     syn_flag = (tcp.flags & dpkt.tcp.TH_SYN) != 0  
     ack_flag = (tcp.flags & dpkt.tcp.TH_ACK) != 0 

Когда я называю эти последние две строки, я получаю все SYS и все ACK пакеты от PCAP? Как узнать, какие сообщения были отправлены/получены?

ответ

-1

Я бы порекомендовал вам использовать инструмент Scapy, который находится в вашем распоряжении here. Scapy - это инструмент генерации пакетов и манипуляции, который дает вам большую гибкость для обработки пакетов. Ниже приведен краткий пример того, что код Scapy может выглядеть следующим образом:

pkts = PcapReader(inFile) 
for p in pkts: 
     F = bin(p['TCP'].flags) 
     if F == SYN # 0x02: 
      # Process Syn Packet 
     elif F == ACK # 0x10: 
      # Process Ack Packet 

Scapy может использоваться с интерпретатором, или вы можете импортировать кадр работу Scapy в свою среду

+0

Большое спасибо. Я также посмотрел на косоглазие. Пример кода выше очень полезен. Я посмотрю на это. Но у меня все еще есть вопрос относительно того, как я буду различать отправленные/полученные пакеты SYS/ACK. @BrianCain – GGMU

+0

, или это SYN отправлено, а SYN + ACK является полученным? Извините, я немного новичок в этом. – GGMU

+1

Лучше всего начать с понимания того, как работает протокол управления передачей (TCP). Я предлагаю начать со страницы wiki https://en.wikipedia.org/wiki/Transmission_Control_Protocol На этой странице представлена ​​хорошая видимость заголовка TCP. Вас особенно интересует поле Flags. –