tests/divert: use PF_DIVERT
Now all Python ports has been patched to support PF_DIVERT, and Python kinda promises to add support in 3.12 [1]. This reverts commit 322b5b7c16666c40d2763f18c1a51e6f0580d4e9. [1] https://github.com/python/cpython/pull/96536#issuecomment-1303974686
This commit is contained in:
parent
829f0bcb5f
commit
5e4ae3061f
@ -29,16 +29,13 @@
|
||||
#
|
||||
|
||||
|
||||
import socket
|
||||
from socket import socket, PF_DIVERT, SOCK_RAW
|
||||
import logging
|
||||
logging.getLogger("scapy").setLevel(logging.CRITICAL)
|
||||
import scapy.all as sc
|
||||
import argparse
|
||||
|
||||
|
||||
IPPROTO_DIVERT = 258
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description='divert socket tester')
|
||||
parser.add_argument('--dip', type=str, help='destination packet IP')
|
||||
@ -52,14 +49,14 @@ def parse_args():
|
||||
|
||||
def ipdivert_ip_output_remote_success(args):
|
||||
packet = sc.IP(dst=args.dip) / sc.ICMP(type='echo-request')
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_RAW, IPPROTO_DIVERT) as s:
|
||||
with socket(PF_DIVERT, SOCK_RAW, 0) as s:
|
||||
s.bind(('0.0.0.0', args.divert_port))
|
||||
s.sendto(bytes(packet), ('0.0.0.0', 0))
|
||||
|
||||
|
||||
def ipdivert_ip6_output_remote_success(args):
|
||||
packet = sc.IPv6(dst=args.dip) / sc.ICMPv6EchoRequest()
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_RAW, IPPROTO_DIVERT) as s:
|
||||
with socket(PF_DIVERT, SOCK_RAW, 0) as s:
|
||||
s.bind(('0.0.0.0', args.divert_port))
|
||||
s.sendto(bytes(packet), ('0.0.0.0', 0))
|
||||
|
||||
@ -67,7 +64,7 @@ def ipdivert_ip6_output_remote_success(args):
|
||||
def ipdivert_ip_input_local_success(args):
|
||||
"""Sends IPv4 packet to OS stack as inbound local packet."""
|
||||
packet = sc.IP(dst=args.dip,src=args.sip) / sc.ICMP(type='echo-request')
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_RAW, IPPROTO_DIVERT) as s:
|
||||
with socket(PF_DIVERT, SOCK_RAW, 0) as s:
|
||||
s.bind(('0.0.0.0', args.divert_port))
|
||||
s.sendto(bytes(packet), (args.dip, 0))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user