diff --git a/main.py b/main.py index dd64d42..685ec65 100755 --- a/main.py +++ b/main.py @@ -7,6 +7,8 @@ import ipaddress import json import socket +MAGIC = b'\x16\xd9\x6b\x52' + class Config: def __init__(self, data): if data['mode'] == 'server': @@ -50,6 +52,24 @@ class IpHeader: self.src = ipaddress.IPv4Address(src) self.dst = ipaddress.IPv4Address(dst) + def to_byte_string(self): + return struct.pack( + '>BBHHHBBH4s4sHBB', + self.ver_ihl, + self.tos, + self.total_length, + self.ident, + self.flags_fragoffset, + self.ttl, + self.proto, + self.chksum, + self.src.packed, + self.dst.packed, + self.opt1, + self.opt2, + self.pad, + ) + def main(): config_filename = sys.argv[1] @@ -105,5 +125,10 @@ def handle_ip_packet(ip_packet, conn, tun_iface, config): 'len: %d' % ip_packet.header.total_length, ) + if ip_packet.header.dst == config.iface_addr: + pass + elif ip_packet.header.dst == config.iface_dstaddr: + pass + if __name__ == '__main__': main()