nopasaran 0.2.101__tar.gz → 0.2.102__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nopasaran-0.2.101 → nopasaran-0.2.102}/PKG-INFO +1 -1
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tcp_dns_response_primitives.py +5 -4
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/udp_dns_response_primitives.py +4 -3
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/tcp_dns_socket_server.py +4 -4
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/udp_dns_socket_server.py +4 -7
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/PKG-INFO +1 -1
- {nopasaran-0.2.101 → nopasaran-0.2.102}/setup.py +1 -1
- {nopasaran-0.2.101 → nopasaran-0.2.102}/LICENSE +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/README.md +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/__main__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/controllers/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/controllers/controller.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/controllers/factory.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/controllers/protocol.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/decorators.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/definitions/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/definitions/commands.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/definitions/control_channel.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/definitions/events.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/definitions/transitions.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/errors/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/errors/parsing_error.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/http_2_utils.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/interpreters/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/interpreters/action_interpreter.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/interpreters/condition_interpreter.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/interpreters/interpreter.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/interpreters/transition_interpreter.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/machines/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/machines/action_queue.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/machines/state_machine.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/parsers/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/parsers/interpreter_parser.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/parsers/state_machine_parser.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/action_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/certificate_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/client_echo_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/control_channel_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/data_channel_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/data_manipulation.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/dns_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/event_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/http_1_request_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/http_1_response_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/http_2_client_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/http_2_server_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/http_simple_client_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/https_1_request_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/https_1_response_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/icmp_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/io_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/ip_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/nested_machine_utils.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/probing_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/replay_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/server_echo_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/signaling_primitive.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tcp_dns_request_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tcp_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/timing_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tls_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/udp_dns_request_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/udp_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/condition_primitives/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/condition_primitives/condition_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/condition_primitives/variable_comparisons.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/transition_primitives/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/transition_primitives/assignment_transitions.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/transition_primitives/transition_primitives.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/sniffers/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/sniffers/sniffer.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/__init__.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/checks.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/echo_socket_server.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/http_1_socket_server.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/http_2_overwrite.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/http_2_socket_base.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/http_2_socket_client.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/http_2_socket_server.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/tools/https_1_socket_server.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/utils.py +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/SOURCES.txt +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/dependency_links.txt +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/entry_points.txt +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/requires.txt +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran.egg-info/top_level.txt +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/setup.cfg +0 -0
- {nopasaran-0.2.101 → nopasaran-0.2.102}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nopasaran
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.102
|
4
4
|
Summary: NoPASARAN is an advanced network tool designed to detect, fingerprint, and locate network middleboxes in a unified framework.
|
5
5
|
Home-page: https://github.com/BenIlies/NoPASARAN
|
6
6
|
Author: Ilies Benhabbour
|
@@ -10,11 +10,12 @@ class TCPDNSResponsePrimitives:
|
|
10
10
|
state_machine.set_variable_value(outputs[0], server)
|
11
11
|
|
12
12
|
@staticmethod
|
13
|
-
@parsing_decorator(input_args=
|
13
|
+
@parsing_decorator(input_args=3, output_args=0)
|
14
14
|
def start_tcp_dns_server(inputs, outputs, state_machine):
|
15
15
|
server = state_machine.get_variable_value(inputs[0])
|
16
|
-
|
17
|
-
|
16
|
+
listening_ip = int(state_machine.get_variable_value(inputs[1]))
|
17
|
+
port = int(state_machine.get_variable_value(inputs[2]))
|
18
|
+
server.start(listening_ip, port)
|
18
19
|
|
19
20
|
@staticmethod
|
20
21
|
@parsing_decorator(input_args=4, output_args=1)
|
@@ -28,7 +29,7 @@ class TCPDNSResponsePrimitives:
|
|
28
29
|
"""
|
29
30
|
server = state_machine.get_variable_value(inputs[0])
|
30
31
|
timeout = int(state_machine.get_variable_value(inputs[2]))
|
31
|
-
response_spec = state_machine.get_variable_value(inputs[3])
|
32
|
+
response_spec = state_machine.get_variable_value(inputs[3])
|
32
33
|
|
33
34
|
result, _ = server.wait_for_query(timeout, response_spec)
|
34
35
|
state_machine.set_variable_value(outputs[0], result)
|
@@ -10,11 +10,12 @@ class UDPDNSResponsePrimitives:
|
|
10
10
|
state_machine.set_variable_value(outputs[0], server)
|
11
11
|
|
12
12
|
@staticmethod
|
13
|
-
@parsing_decorator(input_args=
|
13
|
+
@parsing_decorator(input_args=3, output_args=0)
|
14
14
|
def start_udp_dns_server(inputs, outputs, state_machine):
|
15
15
|
server = state_machine.get_variable_value(inputs[0])
|
16
|
-
|
17
|
-
|
16
|
+
listening_ip = int(state_machine.get_variable_value(inputs[1]))
|
17
|
+
port = int(state_machine.get_variable_value(inputs[2]))
|
18
|
+
server.start(listening_ip, port)
|
18
19
|
|
19
20
|
@staticmethod
|
20
21
|
@parsing_decorator(input_args=4, output_args=1)
|
@@ -10,13 +10,13 @@ class TCPDNSSocketServer:
|
|
10
10
|
def __init__(self):
|
11
11
|
self.sock = None
|
12
12
|
|
13
|
-
def start(self, port):
|
13
|
+
def start(self, listening_ip, port):
|
14
14
|
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
15
15
|
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
16
|
-
self.sock.bind((
|
16
|
+
self.sock.bind((listening_ip, port))
|
17
17
|
self.sock.listen(5)
|
18
|
-
logging.info(f"TCP DNS server started on
|
19
|
-
return EventNames.SERVER_STARTED.name, f"TCP DNS server started on
|
18
|
+
logging.info(f"TCP DNS server started on {listening_ip}:{port}")
|
19
|
+
return EventNames.SERVER_STARTED.name, f"TCP DNS server started on {listening_ip}:{port}"
|
20
20
|
|
21
21
|
def wait_for_query(self, timeout, response_spec=None):
|
22
22
|
timeout = float(timeout)
|
@@ -1,7 +1,4 @@
|
|
1
1
|
import socket
|
2
|
-
import struct
|
3
|
-
import select
|
4
|
-
import time
|
5
2
|
from dnslib import DNSRecord, RR, QTYPE, A, CNAME, MX, TXT, NS, SOA, PTR, AAAA, SRV, DS, RRSIG, NSEC, DNSKEY
|
6
3
|
from nopasaran.definitions.events import EventNames
|
7
4
|
import logging
|
@@ -10,12 +7,12 @@ class UDPDNSSocketServer:
|
|
10
7
|
def __init__(self):
|
11
8
|
self.sock = None
|
12
9
|
|
13
|
-
def start(self, port):
|
10
|
+
def start(self, listening_ip, port):
|
14
11
|
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
15
12
|
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
16
|
-
self.sock.bind((
|
17
|
-
logging.info(f"UDP DNS server started on
|
18
|
-
return EventNames.SERVER_STARTED.name, f"UDP DNS server started on
|
13
|
+
self.sock.bind((listening_ip, port))
|
14
|
+
logging.info(f"UDP DNS server started on {listening_ip}:{port}")
|
15
|
+
return EventNames.SERVER_STARTED.name, f"UDP DNS server started on {listening_ip}:{port}"
|
19
16
|
|
20
17
|
def wait_for_query(self, timeout, response_spec=None):
|
21
18
|
self.sock.settimeout(timeout)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nopasaran
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.102
|
4
4
|
Summary: NoPASARAN is an advanced network tool designed to detect, fingerprint, and locate network middleboxes in a unified framework.
|
5
5
|
Home-page: https://github.com/BenIlies/NoPASARAN
|
6
6
|
Author: Ilies Benhabbour
|
@@ -13,7 +13,7 @@ with open(requirements_file, "r") as f:
|
|
13
13
|
# Version will automatically be updated when pushed on the main branch
|
14
14
|
setup(
|
15
15
|
name="nopasaran",
|
16
|
-
version='0.2.
|
16
|
+
version='0.2.102',
|
17
17
|
author="Ilies Benhabbour",
|
18
18
|
author_email="ilies.benhabbour@kaust.edu.sa",
|
19
19
|
description="NoPASARAN is an advanced network tool designed to detect, fingerprint, and locate network middleboxes in a unified framework.",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/action_primitives.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/data_manipulation.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/dns_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/event_primitives.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/icmp_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/io_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/ip_primitives.py
RENAMED
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/probing_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/replay_primitives.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tcp_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/timing_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/tls_primitives.py
RENAMED
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/action_primitives/udp_primitives.py
RENAMED
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/condition_primitives/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nopasaran-0.2.101 → nopasaran-0.2.102}/nopasaran/primitives/transition_primitives/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|