原文連結

我是一個HTTP資料包,不知誰建立了我,把我丢到這個房間。
突然,來了一個大漢,我吓得縮到角落。
“該啟程了,站起來”。
“去哪裡啊?”我弱弱的問。
“還能去哪裡,你是一個資料包,當然要出遠門,完成你的使命啊,别啰嗦,我要先把你複制到核心空間,一會要發出去,讓我來看下你的内容”。
我不敢多言,乖乖的站好,一眨眼的功夫,我來到了另一個房間。
“這是哪裡,我怎麼到這裡來了?”我有點好奇。
“這裡是核心位址空間,剛才你在使用者态位址空間,所有的資料包都得從這裡出發,你也不例外”。
看着這片陌生的環境,我也不知道他說的核心空間是什麼意思,這裡有好多房間,還有好多跟他一樣的大漢在工作,好多資料包都在這裡,進進出出,好不熱鬧。
出發前的俄羅斯套娃
“等着,我去拿點東西”,大漢去了一座大廈,我擡頭一看,上面寫着tcpip.sys。
這時,旁邊另外一個資料包走了過來。
“唉,小子,剛出發呢。”
“你是誰?”
“我也是一個HTTP資料包,不過我是一個響應包,剛剛從遙遠的Linux帝國過來這裡,我馬上就完成我的使命了,這一路給我累得”,這個資料包歎口氣回答。
“很遠嗎,這麼辛苦啊”,我開始有點擔心我的旅程起來。
“這不好說,我不知道你去哪,接我的人來了,再見”。
不一會兒,大漢提着一個箱子走了出來,箱子正面寫了三個大大的字母:TCP。
“這是傳輸層的箱子,快進去”,大漢指令的口吻。
“你要我鑽進這個箱子啊?”我不太相信。
“對,沒錯,麻利的”。
“這箱子上面寫的數字60059和80是什麼意思?”我注意到箱子背面也寫了很多東西。
“60059是建立你的人用的端口号碼,80是後面接待你的人的端口号碼”。
“那這第二排的0x2C877F30和0xBD62DFB3又是什麼意思呢?”
“這是建立你的人使用的序列号和應答對方的确認号,你問題咋這麼多”,大漢開始不耐煩了。
“還有這個···”
“行啦,快進去,趕時間”,大漢打斷了我的提問,我乖乖的鑽進了這個叫TCP的箱子。
“是不是可以出發了?”我問大漢。
“還早着呢,這才剛開始呢”,大漢笑着說。
“再等一下,我還要進去一趟”,說完大漢又進了這個tcpip.sys大廈。
沒過多久,大漢又出來了,手裡又拎了一個更大的箱子,上面也寫着兩個大大的字母:IP。
這一次,大漢二話不說,直接把我連同TCP箱子一起丢進了這個IP箱子。
“怎麼還要套一層啊”,我緊張的問他。
“你不懂,這個網絡是分層的,剛才那個箱子是......唉,我跟你說這些幹啥”,大漢提着我離開了tcpip.sys大廈。
我們來到了一個碼頭,這裡資料包來來往往特别繁華,大漢把我帶到一個大大的倉庫,裡面有很多資料包,對我說:“乖乖待在這裡排隊,我就先走了,一會兒會有人來把你發出去的。”,大漢拍拍我的肩膀就離開了。
“咦,你也是去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就是網關的網卡位址,後面那個是咱這裡的位址”,小胖說話倒是很客氣。
“坐好了,要出發了哦”,小胖一頓操作,我好像坐上火箭,離開了這片土地。
途中見到了好多好多的資料包,有出發的,也有過來的,像穿越時空隧道一般夢幻。還沒來得及欣賞,就被一個黑臉的抓了下來,看來我是到小胖說的網關了。
黑臉人一臉冷漠,問他話也不答,隻顧做自己的事情。幾下功夫,便将我最外面的箱子拆掉,然後拿着一個手冊查了下我的目的IP位址。
“好了,跟我來”,黑臉的把我帶到另外一個碼頭,一頓操作把我給發了出去。
穿越比特宇宙
這裡的資料包比剛才那裡更多,更熱鬧。一路上,不時有人把我抓下去,然後又從一個新的碼頭發出去,把我弄的暈頭轉向的。
過了好一會兒,到了一個地方,又一個胖子接待了我。
“大哥,我這是到終點了嗎?”
“快了,你已經到目的網絡網關了,下一站就到了”。
“來的路上那些人把我抓下去又發出來是幹啥呢?”
“這叫網絡路由,他們那些人接力才把你送到這裡的”。
說完,這胖子又給我套上了一個Ethernet II的箱子發了出去,我知道,這是要送我去最終目的地了。
不知道是什麼web伺服器會來接待我呢,即将完成使命的我開始興奮起來。
出師未捷身先死
很快,我又被人抓了下去。
“是不是我到站了啊,終于要完成任務了”,我伸伸懶腰。
那人卻不說話,隻是将我的Ethernet箱子拆去,放到了一個倉庫。
沒多久,來了一個大叔,把我帶了出去。
“咱們是不是要去tcpip.sys大廈,把我的箱子都拆掉啊”,我小聲的問。
“這裡是Linux帝國,沒有你說的大廈。不過你倒是猜對了,就是去拆箱子”。
很快,這位大叔就拆掉了我的IP箱子和TCP箱子,把我放到一個房間。
“在這等着,一會兒有人會來找你”。
“是不是web伺服器的人來找我?”我激動的問。
大叔也沒有理我,轉身離開。大叔剛走,就有一挎刀黑衣人過來,我吓了一跳,web伺服器的人怎麼這麼兇,還帶刀。
黑衣人用了一台儀器對我一通掃描,突然儀器紅色警報燈響起,我緊張到了極點。
“小子,你的請求表單字段裡面有SQL語句,你是來幹什麼的?”,黑衣人惡狠狠的質問我。
“我不知道誰建立的我啊,我隻是個HTTP資料包,你們這裡不是web伺服器嗎,我是不是走錯了”,我吓得臉色慘白。
“你沒有走錯,是我們截下的你,這裡不是web伺服器,這裡是WAF”,黑衣人得意的說到。
“WAF是什麼,那我肯定走錯了,快放我離開”,我想逃離這裡。
然而,黑衣人大喝一聲:“站住,你這個邪惡的資料包,伏誅吧!”。
我回頭一看,隻見黑衣人舉起大刀······
未完待續·······
彩蛋
nginx公司的人正在緊張忙碌着,黑衣人突然闖了進來。“叫你們管事兒的過來,發現針對一起80端口的SQL注入攻擊,我們需要調查驗證”
欲知後事如何,請關注後續精彩......
來源 | 程式設計技術宇宙
作者 | 軒轅之風