Skip to content

Commit

Permalink
Add a better example
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanDeveloper committed Sep 15, 2023
1 parent 4b0860f commit 9775af6
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 71 deletions.
66 changes: 17 additions & 49 deletions example.py
Original file line number Diff line number Diff line change
@@ -1,52 +1,20 @@
import matplotlib.pyplot as plt
import numpy as np
from scapy.all import (TCP, Packet, RandIP, RandIP6, RandMAC, Raw, rdpcap,
sniff, wrpcap)

from heifip.extractor import FIPExtractor
from heifip.images.flow import FlowImage
from heifip.images.flow_tiled_auto import FlowImageTiledAuto
from heifip.images.flow_tiled_fixed import FlowImageTiledFixed
from heifip.images.markovchain import (MarkovTransitionMatrixFlow,
MarkovTransitionMatrixPacket)
from heifip.images.packet import PacketImage
from heifip.layers import PacketProcessorType
from heifip.images.flow import FlowImage

# extractor = FIPExtractor()
# imgs = extractor.create_image_from_file(
# "/home/smachmeier/data/better-split-binary/benign/BitTorrent-0710.pcap",
# PacketProcessorType.NONE,
# MarkovTransitionMatrixFlow,
# 0, # min_image_dim
# 0, # max_image_dim
# 3, # min_packets
# 0, # max_packets
# True, # remove_duplicates,
# 8
# # 30, # dim
# # 0, # fill
# # True # auto_dim
# )
# i = 0
# for img in imgs:
# extractor.save_image(img, f"/home/smachmeier/Documents/projects/heiFIP/data/benign/{i}.png")
# i += 1
pcap = sniff(offline="/home/smachmeier/data/test-data/")
for pkt in pcap:
# if Raw in pkt:
# pkt[TCP].remove_payload()
pkt.show()
# wrpcap("/home/smachmeier/test.pcap", pkt, append=True)

# fig = plt.figure(figsize=(16, 16))
# columns = 4
# rows = 4
# for i in range(1, columns*rows +1):
# fig.add_subplot(rows, columns, i)
# plt.ylabel("Y")
# plt.xlabel("X")
# plt.imshow(imgs[i])
# plt.savefig('test.pdf', dpi=fig.dpi)

# plt.imshow(imgs[0])
# plt.savefig('test.pdf')
extractor = FIPExtractor()
imgs = extractor.create_image_from_file(
"./tests/pcaps/dns-caa.pcap",
PacketProcessorType.NONE,
FlowImage,
0, # min_image_dim
0, # max_image_dim
1, # min_packets
0, # max_packets
True, # remove_duplicates,
8
# 30, # dim
# 0, # fill
# True # auto_dim
)
print(imgs)
1 change: 0 additions & 1 deletion heifip/images/flow.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import binascii
import logging

import numpy as np
from scapy.all import Packet, raw
Expand Down
1 change: 0 additions & 1 deletion heifip/images/flow_tiled_auto.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import binascii
import logging

import numpy as np
from scapy.all import Packet, raw
Expand Down
1 change: 0 additions & 1 deletion heifip/images/flow_tiled_fixed.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import binascii
import logging

import numpy as np
from scapy.all import Packet, raw
Expand Down
4 changes: 1 addition & 3 deletions heifip/images/markovchain.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import logging

import numpy as np
from scapy.all import Packet, chexdump, hexdump, raw
from scapy.all import Packet

from heifip.images import NetworkTrafficImage

Expand Down
1 change: 0 additions & 1 deletion heifip/images/packet.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import binascii
import logging

import numpy as np
from scapy.all import Packet, raw
Expand Down
5 changes: 2 additions & 3 deletions heifip/layers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
from enum import Enum, unique
from typing import Type

import cryptography
from scapy.all import (Packet, RandIP, RandIP6, RandMAC, Raw, load_layer,
rdpcap, sniff, wrpcap)
from scapy.all import (Packet,load_layer,
sniff, wrpcap)
from scapy.layers.dns import DNS
from scapy.layers.http import HTTP, HTTPRequest, HTTPResponse
from scapy.layers.inet import IP, TCP, UDP, Ether
Expand Down
3 changes: 0 additions & 3 deletions heifip/layers/dns.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import hashlib
from typing import Type

from scapy.all import Packet
from scapy.layers.dns import DNS

Expand Down
7 changes: 3 additions & 4 deletions heifip/layers/http.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import hashlib
from typing import Type

from scapy.all import Packet
from scapy.layers.http import HTTP, HTTPRequest, HTTPResponse
from scapy.all import Packet, Raw
from scapy.layers.http import HTTPRequest, HTTPResponse

from heifip.layers.transport import TransportPacket
from heifip.plugins.header import (CustomHTTP, CustomHTTP_Request,
from heifip.plugins.header import (CustomHTTP_Request,
CustomHTTP_Response)


Expand Down
3 changes: 1 addition & 2 deletions heifip/layers/packet.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import hashlib
from typing import Type

from scapy.all import Packet, RandMAC
from scapy.all import RandMAC
from scapy.layers.inet import Ether


Expand Down
5 changes: 2 additions & 3 deletions heifip/plugins/header.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from scapy.all import (DNS, IP, IP_PROTOS, TCP, UDP, BitEnumField, BitField,
from scapy.all import (IP_PROTOS, BitEnumField, BitField,
ByteEnumField, ByteField, DNSQRField, DNSRRField,
FlagsField, IntField, IPv6, Packet, ShortEnumField,
FlagsField, IntField, Packet, ShortEnumField,
StrField, TCPOptionsField, XByteField)
from scapy.layers.dns import DNSStrField, InheritOriginDNSStrPacket, dnstypes
from scapy.layers.http import HTTPRequest, HTTPResponse
from scapy.layers.inet6 import ipv6nh


Expand Down

0 comments on commit 9775af6

Please sign in to comment.