久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

【python|scapy】sprintf輸出時(shí)raw_string轉(zhuǎn)string

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

問(wèn)題描述

最近在有python的scapy模塊分析TCP報(bào)文,一直有一個(gè)關(guān)于轉(zhuǎn)義字符的問(wèn)題困惑著我,查找的很多資料后仍然百思不得其解,請(qǐng)大神指教。請(qǐng)看代碼:

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()

結(jié)果為:【python|scapy】sprintf輸出時(shí)raw_string轉(zhuǎn)string

打印出的字符串中‘x11’、’x04’等等應(yīng)該相當(dāng)于一個(gè)字符,但是解釋器把它們當(dāng)成了4個(gè)字符。所以四條報(bào)文中的tcp數(shù)據(jù)長(zhǎng)度不是17而成了為53,52,46,52。查閱scapy源碼發(fā)現(xiàn)sprintf('%Raw.load%')函數(shù)實(shí)現(xiàn)提取tcp數(shù)據(jù)段,并將其轉(zhuǎn)化為字符串,但是轉(zhuǎn)化后的結(jié)果類(lèi)似于raw_string,字符串中的‘x’失效了,被當(dāng)做了2個(gè)字符。請(qǐng)問(wèn)該怎么轉(zhuǎn)化,使得轉(zhuǎn)義字符‘x’生效,使得類(lèi)似‘x11’、’x04’等等的字符被看做一個(gè)字符而不是4個(gè)?

問(wèn)題解答

回答1:

經(jīng)過(guò)查閱資料,我發(fā)現(xiàn)要用個(gè)函數(shù)實(shí)現(xiàn)rawstring轉(zhuǎn)string,即可。

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

輸出的結(jié)果就正確了

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 竹北市| 孙吴县| 洪雅县| 诏安县| 江陵县| 砀山县| 东平县| 丹东市| 普兰店市| 赞皇县| 儋州市| 中方县| 萝北县| 盐边县| 新干县| 大方县| 浙江省| 兴文县| 泽库县| 阿荣旗| 栖霞市| 青河县| 莱阳市| 诸城市| 周口市| 崇阳县| 莱芜市| 化德县| 呼图壁县| 乐东| 嘉定区| 金坛市| 新源县| 荔波县| 义马市| 集贤县| 随州市| 通州区| 黎平县| 新昌县| 万州区|