Add IpPacket and handle_ip_packet
This commit is contained in:
parent
cb299d9932
commit
c91299ae3b
17
main.py
17
main.py
|
@ -7,6 +7,11 @@ import ipaddress
|
||||||
import json
|
import json
|
||||||
import socket
|
import socket
|
||||||
|
|
||||||
|
class IpPacket:
|
||||||
|
def __init__(self, header, body):
|
||||||
|
self.header = header
|
||||||
|
self.body = body
|
||||||
|
|
||||||
class IpHeader:
|
class IpHeader:
|
||||||
def __init__(self, raw):
|
def __init__(self, raw):
|
||||||
self.ver_ihl, \
|
self.ver_ihl, \
|
||||||
|
@ -70,11 +75,17 @@ def main():
|
||||||
if proto != b'\x08\x00':
|
if proto != b'\x08\x00':
|
||||||
continue
|
continue
|
||||||
|
|
||||||
ip_header = IpHeader(buf[4:28])
|
ip_packet = IpPacket(IpHeader(buf[4:28]), buf[28:])
|
||||||
body = buf[28:]
|
|
||||||
|
|
||||||
print(ip_header.src, '→', ip_header.dst, 'len: %d' % ip_header.total_length)
|
handle_ip_packet(ip_packet, conn, tun_iface, config)
|
||||||
|
|
||||||
|
def handle_ip_packet(ip_packet, conn, tun_iface, config):
|
||||||
|
print(
|
||||||
|
ip_packet.header.src,
|
||||||
|
'→',
|
||||||
|
ip_packet.header.dst,
|
||||||
|
'len: %d' % ip_packet.header.total_length,
|
||||||
|
)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
Reference in New Issue