看板 Python 關於我們 聯絡資訊
各位版友好, 最近在寫Scapy的東西, 但存檔的地方...我不知道是哪裡出了問題... File: 100.100.100.100 1 10.1.1.1 200.200.200.200 2 10.2.2.1 100.100.100.200 3 10.1.1.2 . . . File資料依序分別是IP位置、代號、重配的IP 然後接下來是我code的scapy程式 目的是要把封包檔裡符合IP位置的項目轉換成重配的IP rfd=open("File","r") for line in rfd.read()splitlines(): items,item2,item3=line.split('\t') pkts=rdpcap("pcapfilename") for pkt in pkts: if pkt[IP].src==item1: pkt[IP].src=item3 if pkt[IP].dst==item1: pkt[IP].dst=item3 wrpcap("new_pcapfilename",pkts) rfd.close() 執行過後, 新產生的PCAP檔內IP位置並沒有被替換掉... 它重新存了原檔... 請問程式碼有誤嗎? 已解決 _____________________________________________________________________ 剛剛重新re一遍程式, 應該要把pkts=rdpcap("pcapfilename") 拿到for迴圈外面放才對, 即: rfd=open(...) pkts=rdpcap(...) for line in ...: 謝謝各位的指點。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.113.177 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1429457517.A.615.html ※ 編輯: Dong0129 (220.137.113.177), 04/19/2015 23:59:37
ug945: 看不出來這跟Scrapy有什麼關係 04/20 00:00
ug945: 如果是輸出入有問題 建議先用測試資料模擬輸出入 04/20 00:00
您好,已修改標題, 因為有試過用比較少資料的檔案去試, 但都沒辦法成功... 等等會試著把src跟dst拆開來做看看... ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 00:05:50
ccwang002: 沒看到這隻程式哪裡寫檔案了,你只讀了 rfd 04/20 00:17
ccwang002: rfd 讀了之後改內容要再寫回去,是 wrdpcap 做嗎? 04/20 00:18
wrpcap即是將檔案儲存@@還是我用錯了?
qoo1991: 呃 你只讀檔 然後還是存一樣東西回去= = 04/20 00:24
qoo1991: 然後我是不知道你想IP做啥 這樣做沒改checksum 你的封包 04/20 00:25
qoo1991: 就全爛了 04/20 00:25
qoo1991: 要修改後再存回去還是正確的要重算IPv4 header checksum 04/20 00:30
之前有試過直接給另一台機器的IP當做dest ip,下send()後確實有將封包送達, 目標在重現背景流量,所以想要修改pcap檔案理的IP之後, 看能否使用salt-stack做部署讓檔案在其他node裡送。 ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 00:48:13
qoo1991: 只改IP 沒改checksum 送不出去的 Dst host 會把它丟掉. 04/20 01:18
qoo1991: 這是計網的嘗試 04/20 01:18
qoo1991: *常識 另外你說收到我想應該是scapy幫你重算了 04/20 01:19
我想是的,因為在接收端的確有看見它在做一些動作, 但目前的目標是要讓流量能夠動起來,所以一步一步去試, 謝謝您的指點! ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 01:25:46
qoo1991: 我的建議是你改完IP後直接用sendp 就直接重送 04/20 01:34
qoo1991: sendp(rdpcap("/tmp/pcapfile")) # tcpreplay 04/20 01:34
qoo1991: 不需要在存PCAP回去 參考這篇吧 http://goo.gl/yCd3eD 04/20 01:35
謝謝您,我一開始就是照這一個程式來做, 但是之後需要把檔案分送到各個虛擬節點上,在虛擬節點上做send的動作, 才會想要先修改IP位置並重新儲存, 謝謝您的指點! ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 01:40:40 ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 01:40:58 ※ 編輯: Dong0129 (220.137.113.177), 04/20/2015 02:09:37