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 編程
相關文章:
主站蜘蛛池模板: 免费看黄视频网站 | 久久久免费毛片 | 成人精品一区二区 | 看一级毛片视频 | 性高湖久久久久久久久 | 91成人精品 | www精品美女久久久tv | 国产91久久精品一区二区 | 亚洲欧洲视频 | 一级在线毛片 | 日韩羞羞| 日韩久久久久久 | 黄色电影在线免费观看 | 色婷婷综合久久久中文字幕 | 亚洲国产精品一区在线观看 | 久久国产精品色av免费观看 | 亚欧洲精品在线视频免费观看 | 在线一区视频 | 国产成人福利在线观看 | 范冰冰一级做a爰片久久毛片 | 亚洲精品大全 | 欧美日产国产成人免费图片 | 日韩一区中文字幕 | 国产在线小视频 | 日韩精品一区二区三区视频播放 | 国产精品日韩欧美一区二区三区 | 亚洲自拍偷拍av | 在线成人免费视频 | 中文字幕第100页 | 97精品国产| 97伦理影院 | 亚洲国产精品suv | 久久久99国产精品免费 | 日韩一区欧美一区 | 亚洲网站在线 | 国产福利资源在线 | 国产视频精品在线观看 | 国产一二三区精品视频 | 玖玖视频| 在线看亚洲 | 日本午夜视频 |