使用易語言對Fiddler進(jìn)行二次開發(fā)

Fiddler提供了一個(gè)C#接口,可以充分利用進(jìn)行二次開發(fā)

Fiddler是一款強(qiáng)大的WEB網(wǎng)絡(luò)調(diào)試工具齐邦,可以監(jiān)聽HTTP/HTTPS數(shù)據(jù)流量情況第租,其原理是通過自身建立成一個(gè)HTTP代理服務(wù)器,只需要把你想攔截的內(nèi)容煌妈,通過該HTTP代理就能實(shí)現(xiàn)監(jiān)聽以及修改等強(qiáng)大操作。

Fiddler提供了一個(gè)開發(fā)者接口汰蜘,其全名稱FiddlerCoreAPI;另外也提供了一些簡單的調(diào)用DEMO苛坚。

這次文章就主要來講講怎么去使用易語言調(diào)用色难;

由于易語言是不支持直接調(diào)用C#解釋型代碼,但可以通過VC++去調(diào)用在將VC++封裝成DLL文件實(shí)現(xiàn)易語言進(jìn)行調(diào)用娇昙。但由于考慮到技術(shù)上的難題以及開發(fā)上的效率笤妙,目前在易語言圈子已經(jīng)有人將C#封裝成一個(gè)可以進(jìn)行相互通信的,其名稱叫“奇易模塊”蹲盘,它可以直接使用易語言進(jìn)行載入模塊召衔。

環(huán)境都已經(jīng)集成到了一體,包括證書文件苍凛、相應(yīng)的C#.DLL文件。包括一鍵部署的代碼。



簡單部署一個(gè)易語言的Fiddler環(huán)境:

圖1.0

如圖1.0所示哑蔫,載入模塊后弧呐,在運(yùn)行易語言時(shí)執(zhí)行 快速初始化,這行代碼會直接幫你復(fù)制好部署Fiddler所需要的代碼腥沽,運(yùn)行之后可以直接關(guān)掉易程序鸠蚪,之后全選粘貼师溅,如圖1.1所示


圖1.1



如果是第一次使用Fiddler盾舌,請務(wù)必檢查電腦是否安裝了Fiddler所需的環(huán)境。 FiddlerCoreAPI接口的配置環(huán)境是同樣跟Fiddler工具一模一樣窿锉,需要.NET4環(huán)境以上的支持膝舅; 并在第一次運(yùn)行會直接提示需要安裝SSL證書,以便進(jìn)行HTTPS數(shù)據(jù)流量的解密洼滚。

檢查.NET 4方法可通過兩種方式

方法一:

在左下角開始-控制面板-程序和功能-找到有關(guān)microsoft .net 4以上字樣即可

方法二:

使用奇易模塊自帶的子程序命令《FD_檢測NET環(huán)境》返回真代表環(huán)境已經(jīng)安裝琳轿,假則代表沒有。如圖1.2所示

圖1.2



根據(jù)圖1.1已經(jīng)快速完成了代碼的部署挪哄,那么接下來講解一下他們的每個(gè)數(shù)據(jù)都是如何進(jìn)行獲取琉闪,以及修改等操作。

在圖1.1中斯入,F(xiàn)D_快速初始化 內(nèi)有一個(gè)回調(diào)測試子程序蛀蜜,那么所有的HTTP/HTTPS數(shù)據(jù)流量都會經(jīng)過該子程序中;

通過 《FD_分析FD數(shù)據(jù)》 可以將數(shù)據(jù)現(xiàn)在拆包詳細(xì)分析滴某,其返回值是 Fiddlre數(shù)據(jù)結(jié)構(gòu),我們可以看到數(shù)據(jù)結(jié)構(gòu)中包含如下幾個(gè)參數(shù)户誓。


圖1.3

圖1.3中數(shù)據(jù)類型中包含12個(gè)基本數(shù)據(jù)類型參數(shù)幕侠,我們來一一解釋一下這些參數(shù)記錄的信息:

編號 ? ? ? ? ? ? ? ? ? ?記錄每個(gè)數(shù)據(jù)流量的序號,從0開始往下累積悼潭。

數(shù)據(jù)類型 ? ? ? ? ? ?總會只有2個(gè)參數(shù)值“send”代表該數(shù)據(jù)是由用戶發(fā)出去;“recv”代表是由服務(wù)器返回回來的數(shù)據(jù)漆枚。

網(wǎng)頁地址 ? ? ? ? ? ?該數(shù)據(jù)包的詳細(xì)GET地址抵知,包含參數(shù)。

網(wǎng)頁源碼 ? ? ? ? ? ?僅在“recv”模式下有內(nèi)容刷喜,其內(nèi)容是所監(jiān)聽到具體返回的包(不包含協(xié)議頭)掖疮。

文檔類型 ? ? ? ? ? ?僅在“recv”模式下有效,返回該數(shù)據(jù)的文檔類型(截取自協(xié)議頭)浊闪。

POST參數(shù) ? ? ? ? 僅在“send”且數(shù)據(jù)提交類型是“post”模式下有效,其內(nèi)容是監(jiān)聽到用戶POST發(fā)出的數(shù)據(jù)折汞。

發(fā)送cookies ? ? ?在“send”和“recv”模式下都有效盖腿,但“recv”下返回的也是“send”時(shí)的cookies,其內(nèi)容是用戶發(fā)出的cookie鸟款。

返回cookies ? ? ? 僅在“recv”模式下有效茂卦,其內(nèi)容是協(xié)議頭中返回回來的cookies內(nèi)容。

附加操作碼 ? ? ? ?無任何用處等龙,為了是模塊內(nèi)部的處理機(jī)制。

進(jìn)程信息 ? ? ? ? ? ?顯示的是對應(yīng)獲取到數(shù)據(jù)流量的進(jìn)程名稱霍比。

會話ID ? ? ? ? ? ? ? ?會話ID類似于編號暴备,是來自FiddlerCoreAPI接口內(nèi)所返回的數(shù)據(jù)流量序號们豌,其send返回的recv對應(yīng)1個(gè)序號浅妆。



通過圖1.3所示障癌,我們已經(jīng)知道了,當(dāng)程序運(yùn)行之后康辑,所有的數(shù)據(jù)流量都會經(jīng)過該子程序轿亮,但我們務(wù)必在數(shù)據(jù)處理完成之后,如圖1.1最后一行代碼中使用《FD_回調(diào)》否則C#接口無法接收到回調(diào)信息按咒,造成網(wǎng)頁一直處于等待但骨,卡慢狀態(tài)。

注意:如果需要對監(jiān)聽到的數(shù)據(jù)進(jìn)行處理或者其它性能較高的操作掠抬,建議劃分到線程內(nèi)添坊,因?yàn)檠舆t較高會影響回調(diào)時(shí)間,造成網(wǎng)頁訪問緩慢贬蛙。



下面來實(shí)現(xiàn)一個(gè)簡單的替換字符串的操作,我們嘗試將網(wǎng)頁返回的內(nèi)容包含“hello”數(shù)據(jù)全部將其替換成“wolrd”氛堕,那么野蝇,通過剛才的數(shù)據(jù)參數(shù)介紹,我們知道數(shù)據(jù)包是在數(shù)據(jù)類型等于“recv”模式下锐想,才能獲取到返回回來的網(wǎng)頁源碼乍狐。

那么我們可以按照如圖1.4以下例程操作:


圖1.4

我們看到,首先會使用 如果真 語句進(jìn)行判斷數(shù)據(jù)類型 是否等于“recv”藕帜,如果結(jié)果成立,就代表該數(shù)據(jù)是由服務(wù)器返回的數(shù)據(jù)包贝攒,我們在使用奇易模塊中的子程序命令《FD_HTML_替換》功能时甚,該功能提供3個(gè)參數(shù)(圖1.5):

FD數(shù)據(jù) ? ? ? ? ? ?該參數(shù)主要是識別出需要修改的哪一個(gè)數(shù)據(jù)包塊;只需提供當(dāng)前的Fiddler數(shù)據(jù)類型即可长捧。

源內(nèi)容 ? ? ? ? ? ? ?其替換之前的內(nèi)容吻贿,C#接口會對其進(jìn)行查找并替換。

新內(nèi)容 ? ? ? ? ? ? ?所需要修改后的新內(nèi)容舅列。

圖1.5

通過以上代碼帐要,就能實(shí)現(xiàn)簡單的替換操作,可以直接運(yùn)行看到效果(圖1.6):


圖1.6

我們看到上圖1.6已經(jīng)成功將返回結(jié)果hello替換成了wolrd內(nèi)容奋早。

注意:某些瀏覽器它是可以不需要經(jīng)過IE代理赠橙,我們都知道Fiddler是必須建立在HTTP代理上,所以務(wù)必檢查瀏覽器的配置掉奄。


通過以上奇易模塊的基本使用方式凤薛,大致了解了它的運(yùn)行機(jī)制,且奇易模塊是處于完全開放源代碼的機(jī)制(除FiddlerCoreAPI提供的DLL接口)缤苫。

包括C#封裝的接口完全開源活玲,均可前往:bbs.fiddler.la下載獲取帜矾。

并且奇易模塊目前不僅僅在于FD數(shù)據(jù)監(jiān)聽屑柔,并且支持DOM元素操作(如精易模塊的網(wǎng)頁填表)珍剑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市唧瘾,隨后出現(xiàn)的幾起案子别凤,更是在濱河造成了極大的恐慌,老刑警劉巖规哪,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诉稍,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚤告,警方通過查閱死者的電腦和手機(jī)服爷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來心褐,“玉大人笼踩,你說我怎么就攤上這事〈帘恚” “怎么了匾旭?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長女蜈。 經(jīng)常有香客問我,道長伪窖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任竹伸,我火速辦了婚禮簇宽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘譬嚣。我一直安慰自己钞它,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布盐股。 她就那樣靜靜地躺著耻卡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪幌蚊。 梳的紋絲不亂的頭發(fā)上溃卡,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音漩仙,去河邊找鬼犹赖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛峻村,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垢啼,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芭析,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馁启?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎螟碎,沒想到半個(gè)月后迹栓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酥郭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年愿吹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椿息。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坷衍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乏矾,到底是詐尸還是另有隱情迁杨,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布扔役,位于F島的核電站警医,受9級特大地震影響坯钦,放射性物質(zhì)發(fā)生泄漏侈玄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一突颊、第九天 我趴在偏房一處隱蔽的房頂上張望潘悼。 院中可真熱鬧,春花似錦棒动、人聲如沸宾添。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怜浅,卻和暖如春蔬崩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舱殿。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工沪袭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冈绊。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像伟恶,于是被迫代替她去往敵國和親毅该。 傳聞我的和親對象是個(gè)殘疾皇子博秫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,967評論 6 13
  • 大綱 一.Socket簡介 二.BSD Socket編程準(zhǔn)備 1.地址 2.端口 3.網(wǎng)絡(luò)字節(jié)序 4.半相關(guān)與全相...
    VD2012閱讀 2,335評論 0 5
  • 記得小的時(shí)候巴碗,我就常聽家里的老人念叨:“魚生火即寒,肉生痰,青菜豆腐保平安逸爵。” 兩漢之際师倔,佛教由印度傳入中國施绎,由于數(shù)代...
    惠雯001閱讀 213評論 0 0
  • 人在走投無路,人生低落期耍休,反而是最能看清自己想要什么,不想要什么羊精,以及最害怕什么斯够。比如,我喧锦,最害怕我自己读规。因?yàn)樵絹?..
    葡萄貓1閱讀 461評論 0 0
  • 黑暗的空間,一個(gè)綠頭發(fā)的青年站在里面燃少。腳底下突然竄出的烈火束亏,焚燒這整個(gè)空間,灼人的溫度好像要將那人的身體分裂阵具。綠頭...
    釀果閱讀 218評論 1 0