Подсчет пакетов между двумя IP с scapy - PullRequest
0 голосов
/ 21 февраля 2019

Я делаю IDS, которая сканирует пакеты TCP и UDP, потому что я новичок, который хочет быть продвинутым в python, но сейчас я застрял.Я не знаю, как подсчитать общее количество пакетов между исходным и целевым IP, если они встречаются несколько раз.

Источник A -> Dest B

Источник A -> Dest B

Источник A -> Dest C

Источник B ->Dest C

Источник B -> Dest C

Источник A -> Dest C

Я хочу получить счетчик всех пакетов между источником A и Dest B,От источника B до Dest C и т. Д. ... Так что проще хранить в базе данных.Вот код, который у меня есть.

  def sniffPackets(self,packet):

    #scanning IP packets
    if packet.haslayer(IP):
        pckt_src=packet[IP].src
        pckt_dst=packet[IP].dst
        print("Packet: SRC: %s  ==>  DST: %s  , TIME: %s"%(pckt_src,pckt_dst,str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))), end=' ')

    #capturing TCP traffic
    if packet.haslayer(TCP):
        src_port=packet.sport
        dst_port=packet.dport
        print(", Protocol: [TCP], Port: %s --> %s, "%(src_port,dst_port), end='')
        print([type(self).__flags[x] for x in packet.sprintf('%TCP.flags%')])

    #capturing UDP traffic
    if packet.haslayer(UDP):
        src_port=packet.sport
        dst_port=packet.dport
        print(", Protocol: [UDP], Port: %s --> %s, "%(src_port, dst_port), end='')
        print("")
        print("")

    else:
        print()

Надеюсь, вы могли бы помочь мне, спасибо заранее!

...