ipv4

IPV4 数据报头部格式

 

 

def ipv4_packet(data):
    version_header_length = data[0]
    version = version_header_length >> 4
    header_length = (version_header_length&15) *4
    ttl,proto,src,target=struct.unpack('! 8x B B 2X 4s 4s',data[:20])
    return version, header_length, ttl, proto, ipv4(src), ipv4(target), data[header_length:]

# return properly formatted IPv4 addres
def ipv4(addr):
    return '.'.join(map(str, addr))
原文地址:https://www.cnblogs.com/hulian425/p/14059143.html