av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

【python|scapy】sprintf輸出時raw_string轉string

瀏覽:190日期:2022-09-16 08:26:26

問題描述

最近在有python的scapy模塊分析TCP報文,一直有一個關于轉義字符的問題困惑著我,查找的很多資料后仍然百思不得其解,請大神指教。請看代碼:

from scapy.all import *def findTCPdata(pkt): raw = pkt.sprintf('%Raw.load%') print raw print ’length of TCP data: ’+ str(len(raw))def main(): pkts = rdpcap(’XXX.pcap’) for pkt in pkts:findTCPdata(pkt)if __name__ == ’__main__’: main()

結果為:【python|scapy】sprintf輸出時raw_string轉string

打印出的字符串中‘x11’、’x04’等等應該相當于一個字符,但是解釋器把它們當成了4個字符。所以四條報文中的tcp數據長度不是17而成了為53,52,46,52。查閱scapy源碼發現sprintf('%Raw.load%')函數實現提取tcp數據段,并將其轉化為字符串,但是轉化后的結果類似于raw_string,字符串中的‘x’失效了,被當做了2個字符。請問該怎么轉化,使得轉義字符‘x’生效,使得類似‘x11’、’x04’等等的字符被看做一個字符而不是4個?

問題解答

回答1:

經過查閱資料,我發現要用個函數實現rawstring轉string,即可。

raw = raw.replace(’’’,’’)string = raw.decode(’string_escape’)

輸出的結果就正確了

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一级毛片免费 | 中文字幕在线视频精品 | 精品国产视频 | 亚洲国内精品 | 欧美视频在线播放 | 精品国产亚洲一区二区三区大结局 | 一级片av | 99精品免费 | 伦理午夜电影免费观看 | 久久大陆 | 国产成人一区 | 欧美精品久久久久 | 久久精品播放 | 啪啪av | 精品粉嫩aⅴ一区二区三区四区 | 在线一区二区三区 | 国产精品久久久久久久久久三级 | 岛国毛片在线观看 | 欧美中文字幕一区二区三区亚洲 | 欧产日产国产精品国产 | 一级毛片,一级毛片 | 久久男人天堂 | 亚洲免费在线观看 | 人人九九精 | 91日韩在线 | 欧美精品91 | 成人伊人网| 少妇淫片aaaaa毛片叫床爽 | 成人午夜精品 | 国产一级电影在线观看 | 青青草在线视频免费观看 | 暖暖成人免费视频 | 国产在线精品一区二区 | 亚洲一区二区三区免费在线 | 欧美在线一区二区视频 | 日本一区不卡 | 亚洲一区二区久久 | 日韩久久网 | 99久久99久久精品国产片果冰 | 一区二区福利视频 | www久久av|