Python的hexdump
功能通常是通过内置的binascii
模块实现的
import binascii
data = b"Hello, World!"
# 使用 hexdump 格式输出
hex_dump = binascii.hexlify(data).decode('utf-8')
print(hex_dump)
# 使用 -C 选项以更易读的格式输出
hex_dump_c = binascii.hexlify(data).decode('utf-8')
print(hex_dump_c)
如果你想要一个更完整的解决方案,可以考虑使用第三方库,如pyshark
或hexpy
。这些库提供了更多的功能和更好的可读性。例如,使用pyshark
可以轻松地解析和显示网络数据包的十六进制表示:
pip install pyshark
import pyshark
# 捕获网络数据包
capture = pyshark.LiveCapture(interface='eth0')
for packet in capture:
# 获取数据包的有效载荷
payload = packet.payload
# 使用 hexdump 格式输出
hex_dump = payload.show(dump=True)
print(hex_dump)
请注意,pyshark
需要安装Wireshark,并且可能需要管理员权限才能捕获数据包。