遇到一个需求,将抓包文件pcap中TLS握手包的证书提取出来。将pcap转成了XML,成功提取到了16进制保存的证书文件。就像下面这样:
但是要转成字节数组才能使用。使用如下代码可以实现转换:
# 这一步目的是转成10进制大数。如果你的字符串前面有‘0x’可以忽略
value_int = int('0x' + value, 16)
# 这一步是转字节。字符串里两个字符是一个字节,所以长度是1/2,byteorder=big是大端存储
# 这里长度要注意,如果你的原字符串有0x,则要减去两个后再除以2
value_bin = value_int.to_bytes(length=int(len(value)/2), byteorder='big')
成功
学到了,好像文件比较大的话,速度有些慢