提问人:kin 提问时间:11/15/2023 最后编辑:kin 更新时间:11/16/2023 访问量:50
我用 pyshark 输出一个 JSON 文件,但非 ASCII 字符是乱码 [关闭]
I output a JSON file with pyshark, but non-ASCII characters are garbled [closed]
问:
我想检查捕获的数据并保存 HTTP 对象中包含的 json 文件。我成功地保存了它,但我注意到 json 文件中包含的日语字符是乱码。当我使用 show as JSON 在 Wireshark 中显示此捕获时,它已成功显示,我想使用 pyshark 执行此操作。
def ExportJson():
print("Start Export")
file_numberP = 1
output_json = "json/"
cap= pyshark.FileCapture("pcap/captured_packets2.pcap", display_filter='http', use_json=True)
for packet in cap:
if hasattr(packet.http, 'file_data'):
if 'puuid' in packet.http.file_data and "common.region" not in packet.http.file_data:
if 'name' in packet.http.file_data:
print(packet.http.file_data)
filename = f"output{file_numberP}.json"
with open(os.path.join(output_json, filename), "w", encoding='utf-8') as f:
f.write(packet.http.file_data)
file_numberP += 1
输出 json 文件的一部分
[{"id":6302377,"puuid":"10cabd00-37ac-53a0-88c5-b116e6ae2753","accountId":200452569,"name":"������������","internalName":"������������"
在 wireshark 中显示为 JSON
[
{
"accountId": 200452569,
"expPoints": 2801,
"expToNextLevel": 3072,
"id": 6302377,
"internalName": "きりたに",
JSON 数据的十六进制转储
0000 5b 7b 22 69 64 22 3a 36 33 30 32 33 37 37 2c 22 [{"id":6 302377,"
0010 70 75 75 69 64 22 3a 22 31 30 63 61 62 64 30 30 puuid":" 10cabd00
0020 2d 33 37 61 63 2d 35 33 61 30 2d 38 38 63 35 2d -37ac-53 a0-88c5-
0030 62 31 31 36 65 36 61 65 32 37 35 33 22 2c 22 61 b116e6ae 2753","a
0040 63 63 6f 75 6e 74 49 64 22 3a 32 30 30 34 35 32 ccountId ":200452
0050 35 36 39 2c 22 6e 61 6d 65 22 3a 22 e3 81 8d e3 569,"nam e":"・・・・
0060 82 8a e3 81 9f e3 81 ab 22 2c 22 69 6e 74 65 72 ・・・・・・・・ ","inter
0070 6e 61 6c 4e 61 6d 65 22 3a 22 e3 81 8d e3 82 8a nalName" :"・・・・・・
0080 e3 81 9f e3 81 ab 22 2c 22 70 72 6f 66 69 6c 65 ・・・・・・", "profile
0090 49 63 6f 6e 49 64 22 3a 36 33 36 39 2c 22 6c 65 IconId": 6369,"le
00A0 76 65 6c 22 3a 33 36 30 2c 22 65 78 70 50 6f 69 vel":360 ,"expPoi
我查看了其中包含的属性,但无法弄清楚。packet.http.file_data
答: 暂无答案
评论
字符编码
标记信息页面"wb"