03.04 一個HTTP數據包的奇幻之旅

一個HTTP數據包的奇幻之旅

我是一個HTTP數據包,不知誰創建了我,把我丟到這個房間。

突然,來了一個大漢,我嚇得縮到角落。

“該啟程了,站起來”。

“去哪裡啊?”我弱弱的問。

“還能去哪裡,你是一個數據包,當然要出遠門,完成你的使命啊,別囉嗦,我要先把你複製到內核空間,一會要發出去,讓我來看下你的內容”。

一个HTTP数据包的奇幻之旅

我不敢多言,乖乖的站好,一眨眼的功夫,我來到了另一個房間。

“這是哪裡,我怎麼到這裡來了?”我有點好奇。

“這裡是內核地址空間,剛才你在用戶態地址空間,所有的數據包都得從這裡出發,你也不例外”。

看著這片陌生的環境,我也不知道他說的內核空間是什麼意思,這裡有好多房間,還有好多跟他一樣的大漢在工作,好多數據包都在這裡,進進出出,好不熱鬧。

出發前的俄羅斯套娃

“等著,我去拿點東西”,大漢去了一座大廈,我抬頭一看,上面寫著tcpip.sys。

這時,旁邊另外一個數據包走了過來。

“唉,小子,剛出發呢。”

“你是誰?”

“我也是一個HTTP數據包,不過我是一個響應包,剛剛從遙遠的Linux帝國過來這裡,我馬上就完成我的使命了,這一路給我累得”,這個數據包嘆口氣回答。

“很遠嗎,這麼辛苦啊”,我開始有點擔心我的旅程起來。

“這不好說,我不知道你去哪,接我的人來了,再見”。

不一會兒,大漢提著一個箱子走了出來,箱子正面寫了三個大大的字母:TCP

“這是傳輸層的箱子,快進去”,大漢命令的口吻。

“你要我鑽進這個箱子啊?”我不太相信。

“對,沒錯,麻利的”。

“這箱子上面寫的數字60059和80是什麼意思?”我注意到箱子背面也寫了很多東西。

“60059是創建你的人用的端口號碼,80是後面接待你的人的端口號碼”。

“那這第二排的0x2C877F30和0xBD62DFB3又是什麼意思呢?”

“這是創建你的人使用的序列號和應答對方的確認號,你問題咋這麼多”,大漢開始不耐煩了。

“還有這個···”

“行啦,快進去,趕時間”,大漢打斷了我的提問,我乖乖的鑽進了這個叫TCP的箱子。

“是不是可以出發了?”我問大漢。

“還早著呢,這才剛開始呢”,大漢笑著說。

“再等一下,我還要進去一趟”,說完大漢又進了這個tcpip.sys大廈。沒過多久,大漢又出來了,手裡又拎了一個更大的箱子,上面也寫著兩個大大的字母:IP

這一次,大漢二話不說,直接把我連同TCP箱子一起丟進了這個IP箱子。

“怎麼還要套一層啊”,我緊張的問他。

“你不懂,這個網絡是分層的,剛才那個箱子是......唉,我跟你說這些幹啥”,大漢提著我離開了tcpip.sys大廈。

一个HTTP数据包的奇幻之旅

我們來到了一個碼頭,這裡數據包來來往往特別繁華,大漢把我帶到一個大大的倉庫,裡面有很多數據包,對我說:“乖乖待在這裡排隊,我就先走了,一會兒會有人來把你發出去的。”,大漢拍拍我的肩膀就離開了。

“咦,你也是去222.196.242.24的,我也是呢,真巧!”前面一個數據包跟我打招呼。

我愣了一下:“你怎知我要去哪裡?”

“喏,你這外面的箱子不是寫了嗎,你看我的,跟你的一樣,這裡寫的就是咱們要去的地方的IP地址”,她特別激動。

第一站:網關

很快,來了一個小胖子叫到我了,我小心翼翼的走了過去。

“你這是要去公網啊,來,先去網關那裡吧”,說完,小胖又給我套了一個箱子,前面寫著:Ethernet II,背面寫了一串:FE-D8-65-C8-2B-D7;86-D5-32-01-0E-3B。

“小哥,這個箱子又是幹嘛的,這上面寫的又是啥呢?”

“這個箱子是把你送到網關那裡去的,FE-D8-65-C8-2B-D7就是網關的網卡地址,後面那個是咱這裡的地址”,小胖說話倒是很客氣。

“坐好了,要出發了哦”,小胖一頓操作,我好像坐上火箭,離開了這片土地。

一个HTTP数据包的奇幻之旅

途中見到了好多好多的數據包,有出發的,也有過來的,像穿越時空隧道一般夢幻。

還沒來得及欣賞,就被一個黑臉的抓了下來,看來我是到小胖說的網關了。

黑臉人一臉冷漠,問他話也不答,只顧做自己的事情。幾下功夫,便將我最外面的箱子拆掉,然後拿著一個手冊查了下我的目的IP地址。

“好了,跟我來”,黑臉的把我帶到另外一個碼頭,一頓操作把我給發了出去。

穿越比特宇宙

這裡的數據包比剛才那裡更多,更熱鬧。

一路上,不時有人把我抓下去,然後又從一個新的碼頭髮出去,把我弄的暈頭轉向的。

一个HTTP数据包的奇幻之旅

過了好一會兒,到了一個地方,又一個胖子接待了我。

“大哥,我這是到終點了嗎?”

“快了,你已經到目的網絡網關了,下一站就到了”。

“來的路上那些人把我抓下去又發出來是幹啥呢?”

“這叫網絡路由,他們那些人接力才把你送到這裡的”。

說完,這胖子又給我套上了一個Ethernet II的箱子發了出去,我知道,這是要送我去最終目的地了。

不知道是什麼web服務器會來接待我呢,即將完成使命的我開始興奮起來。

出師未捷身先死

很快,我又被人抓了下去。

“是不是我到站了啊,終於要完成任務了”,我伸伸懶腰。

那人卻不說話,只是將我的Ethernet箱子拆去,放到了一個倉庫。

沒多久,來了一個大叔,把我帶了出去。

“咱們是不是要去tcpip.sys大廈,把我的箱子都拆掉啊”,我小聲的問。

“這裡是Linux帝國,沒有你說的大廈。不過你倒是猜對了,就是去拆箱子”。

很快,這位大叔就拆掉了我的IP箱子和TCP箱子,把我放到一個房間。

“在這等著,一會兒有人會來找你”。

“是不是web服務器的人來找我?”我激動的問。

大叔也沒有理我,轉身離開。

大叔剛走,就有一挎刀黑衣人過來,我嚇了一跳,web服務器的人怎麼這麼兇,還帶刀。

黑衣人用了一臺儀器對我一通掃描,突然儀器紅色警報燈響起,我緊張到了極點。

“小子,你的請求表單字段裡面有SQL語句,你是來幹什麼的?”,黑衣人惡狠狠的質問我。

一个HTTP数据包的奇幻之旅

“我不知道誰創建的我啊,我只是個HTTP數據包,你們這裡不是web服務器嗎,我是不是走錯了”,我嚇得臉色慘白。

“你沒有走錯,是我們截下的你,這裡不是web服務器,這裡是WAF”,黑衣人得意的說到。

“WAF是什麼,那我肯定走錯了,快放我離開”,我想逃離這裡。

然而,黑衣人大喝一聲:“站住,你這個邪惡的數據包,伏誅吧!”。

我回頭一看,只見黑衣人舉起大刀······

未完待續·······

彩蛋

nginx公司的人正在緊張忙碌著,黑衣人突然闖了進來。

“叫你們管事兒的過來,發現針對一起80端口的SQL注入攻擊,我們需要調查取證”

欲知後事如何,請關注後續精彩......

一个HTTP数据包的奇幻之旅

原創不容易,別光看,轉發分享給更多人啊

一个HTTP数据包的奇幻之旅

我是一個explorer的線程

我是一個殺毒軟件線程

我是一個IE瀏覽器線程

比特宇宙-TCP/IP的誕生

產品vs程序員:你知道www是怎麼來的嗎?

我是一個流氓軟件線程

默認瀏覽器爭霸傳奇

遠去的傳說:安全軟件群雄混戰史

一个HTTP数据包的奇幻之旅一个HTTP数据包的奇幻之旅


分享到:


相關文章: