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))

 

posted @ 2020-11-30 00:34  hulian425  阅读(68)  评论(0编辑  收藏  举报