自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

公司悄悄部署了一個(gè)東西,盯著你···

安全 應(yīng)用安全
我是一個(gè)網(wǎng)絡(luò)監(jiān)控軟件,我被開(kāi)發(fā)出來(lái)的使命就是監(jiān)控網(wǎng)絡(luò)中進(jìn)進(jìn)出出的所有通信流量。

 [[384375]] 

圖片來(lái)自 Pexels

這個(gè)網(wǎng)絡(luò)中所有人的上網(wǎng)內(nèi)容我都看的清清楚楚,是不是很可怕?

[[384376]] 

我被一家公司老板買(mǎi)來(lái)運(yùn)行在一個(gè)配置極高的 Linux 服務(wù)器上,這臺(tái)服務(wù)器上的網(wǎng)卡可不得了,公司進(jìn)出的網(wǎng)絡(luò)數(shù)據(jù)包都得流經(jīng)它,它源源不斷的把數(shù)據(jù)包抓上來(lái)交給我來(lái)分析。

你們應(yīng)該也知道,網(wǎng)絡(luò)通信是分層的,最常見(jiàn)的就是那個(gè) TCP/IP 協(xié)議體系了。

拿到數(shù)據(jù)包后,我就得按照這個(gè)協(xié)議規(guī)范,一層層的脫去協(xié)議的外殼,拿到它們的負(fù)載數(shù)據(jù)。

 

TCP 會(huì)話重組

我重點(diǎn)要照顧的是 TCP 協(xié)議,因?yàn)楹枚鄳?yīng)用都要使用 TCP 來(lái)傳輸,像上網(wǎng)沖浪 HTTP、發(fā)郵件 SMTP、微信聊天等等。

我想要掌控網(wǎng)絡(luò)中的通信,第一個(gè)就要拿 TCP 開(kāi)刀,得想辦法把 TCP 傳輸?shù)囊粋€(gè)個(gè)數(shù)據(jù)包給重組起來(lái),形成一個(gè)完整的會(huì)話,這樣我才好知道應(yīng)用層傳了什么東西,這個(gè)步驟叫做會(huì)話重組。

不過(guò)這個(gè) TCP 協(xié)議有點(diǎn)復(fù)雜,拋開(kāi)我們抓到的包本來(lái)就存在亂序的情況不說(shuō),它本身還有三次握手、四次揮手、超時(shí)重傳、延遲回復(fù)等很多機(jī)制。

有時(shí)候還會(huì)遇到時(shí)間跨度很久的長(zhǎng)連接,這無(wú)疑都給我想要重組 TCP 會(huì)話造成了很大的難度。

而我重組 TCP 會(huì)話的唯一線索就是數(shù)據(jù)包包頭中的序列號(hào) SEQ 和確認(rèn)號(hào) ACK。

不過(guò)我還是死磕 RFC 規(guī)范,把這些問(wèn)題都攻克了,能夠成功重組出一個(gè)個(gè)的 TCP 會(huì)話數(shù)據(jù),成功率還蠻高的。

應(yīng)用協(xié)議識(shí)別

TCP 會(huì)話重組出來(lái)了,我就可以拿到里面?zhèn)鬏數(shù)臄?shù)據(jù)了。接下來(lái)要做的一件事就是識(shí)別應(yīng)用層到底是什么應(yīng)用在傳輸?shù)哪?

用我們的行話說(shuō),那就是做應(yīng)用協(xié)議識(shí)別,這個(gè)時(shí)候我就得看一下端口了。

我根據(jù)三次握手?jǐn)?shù)據(jù)包的方向,就可以確定出誰(shuí)是客戶(hù)端,誰(shuí)是服務(wù)端。

再看一下服務(wù)端的端口號(hào)(這個(gè)在 TCP 包頭里面就可以看到),就能知道這是一個(gè)什么服務(wù)了。

像常見(jiàn)的有下面這些:

  • 22:SSH 遠(yuǎn)程登陸
  • 25:郵件服務(wù)
  • 53:域名解析服務(wù)
  • 80:HTTP Web 服務(wù)
  • 3306:MySQL 數(shù)據(jù)庫(kù)服務(wù)
  • 3389:遠(yuǎn)程桌面連接服務(wù)
  • ······

最常見(jiàn)的就是 80 端口的 Web 服務(wù)了,人類(lèi)每天上網(wǎng)都在用到。

有時(shí)候 Web 服務(wù)不走 80 端口,換成了別的,不過(guò)這難不倒我,我可以通過(guò)分析 TCP 的負(fù)載數(shù)據(jù)特征,看看有沒(méi)有 HTTP 協(xié)議的特征出現(xiàn),因?yàn)? HTTP 協(xié)議的特征實(shí)在是太明顯啦!

到了后來(lái),根據(jù)端口的經(jīng)驗(yàn)出錯(cuò)的概率越來(lái)越大了,我就統(tǒng)一根據(jù)內(nèi)容來(lái)進(jìn)行識(shí)別判斷,不再相信端口。

每個(gè)應(yīng)用都有它們各自的協(xié)議特征,這個(gè)識(shí)別我可是下了點(diǎn)功夫,輕易不會(huì)透露。

文件還原

現(xiàn)在我知道應(yīng)用層是什么協(xié)議了,我就可以把應(yīng)用層協(xié)議傳輸?shù)臄?shù)據(jù)給整明白了。

還是拿最常見(jiàn)的 Web 服務(wù)來(lái)說(shuō)吧,HTTP 協(xié)議是一個(gè)基于請(qǐng)求-響應(yīng)的協(xié)議,比如下面的這一次通信:

 

請(qǐng)求是一個(gè) GET 包,看請(qǐng)求的資源貌似是一張 JPG 圖片。

再看響應(yīng)包,狀態(tài)碼是 200 OK,看來(lái)沒(méi)啥問(wèn)題。再看看 Content-Type,image/jpeg,是個(gè) JPG 圖片沒(méi)跑了。

現(xiàn)在我就可以定位到響應(yīng)包的負(fù)載段,就是在 HTTP 頭,兩個(gè)回車(chē)換行(0D0A)后面就是數(shù)據(jù)了。

找到數(shù)據(jù)位置,再根據(jù) Content-Length 的大小,把數(shù)據(jù)摳出來(lái)寫(xiě)成一個(gè) PNG 格式的文件就大功告成了!

[[384377]] 

OMG,這是哪個(gè)血?dú)夥絼偟男』镒佑衷诳疵琅畧D片了!

上面這個(gè)把協(xié)議中傳輸?shù)奈募崛〕鰜?lái)的過(guò)程叫做文件還原,除了 HTTP 協(xié)議,我還支持文件傳輸協(xié)議 FTP、郵件傳輸協(xié)議 SMTP、文件共享的 SMB 協(xié)議呢。

你們通過(guò)這些協(xié)議傳輸?shù)奈募?,我都能給你還原出來(lái),是不是很可怕?

HTTPS 解密

有一天,我發(fā)現(xiàn) 80 端口的數(shù)據(jù)包越來(lái)越少了,與此同時(shí),443 端口的通信數(shù)據(jù)不知不覺(jué)多了起來(lái)。

后來(lái)才知道原來(lái)為了防止被我這樣的網(wǎng)絡(luò)中間人窺探隱私,他們都用上了一個(gè)叫 HTTPS 的技術(shù)。

HTTPS 把數(shù)據(jù)進(jìn)行了加密傳輸,這樣我拿到以后都是加密后的,沒(méi)辦法知道傳輸了什么內(nèi)容。

不過(guò)這家公司的老板很聰明,他要求公司的員工電腦上都裝上了一個(gè)“安全軟件”。

美其名曰保護(hù)電腦不被入侵,實(shí)際上啊是在他們的電腦上做了一個(gè)中間人劫持,進(jìn)行了 HTTPS 的證書(shū)替換(你不信可以看看這個(gè):誰(shuí)動(dòng)了你的 HTTPS 流量?)。

 

這個(gè)“安全軟件”作為中間人把 HTTPS 證書(shū)和密鑰告訴我,我就可以解密 HTTPS 流量了!你們上網(wǎng)干了啥我還是能知道的一清二楚!

網(wǎng)絡(luò)阻斷

你以為我只能在一旁監(jiān)聽(tīng)嗎?圖樣!

要是你們?cè)L問(wèn)那些敏感的網(wǎng)站,或者嘗試把老板交代給我重點(diǎn)看護(hù)的數(shù)據(jù)偷偷傳出去,那我就不只是看著那么簡(jiǎn)單了,這個(gè)時(shí)候我就要啟動(dòng)阻斷功能。

為了不影響公司網(wǎng)絡(luò)的運(yùn)轉(zhuǎn),我一般都是旁路部署的,這樣要是我哪天抽風(fēng)遇到了 Bug,還可以立即把我撤下去。

這個(gè)所謂旁路部署呢,就是抓取的包都是一份拷貝,而不是通過(guò)我轉(zhuǎn)發(fā)。

不過(guò)這樣一來(lái)也給我阻斷網(wǎng)絡(luò)通信帶來(lái)了一些麻煩,如果我是串聯(lián)到網(wǎng)絡(luò)中,那可就簡(jiǎn)單了,遇到那些可疑的網(wǎng)絡(luò)連接我直接丟掉數(shù)據(jù)包,不轉(zhuǎn)發(fā)出去就得了。

可現(xiàn)在我不是串聯(lián),而是旁路部署,怎么辦呢?

聰明如我,怎么可能被這小小的問(wèn)題難住?我可是深諳 TCP 協(xié)議的行家,在發(fā)現(xiàn)可疑的連接建立的時(shí)候,就將它掐滅在萌芽狀態(tài)!

具體來(lái)說(shuō),TCP 連接的建立是要經(jīng)過(guò)三次握手的:

 

當(dāng)我發(fā)現(xiàn)可疑的 SYN 數(shù)據(jù)包時(shí),在服務(wù)端回復(fù)第二次握手包之前,以迅雷不及掩耳盜鈴之勢(shì),用服務(wù)器 IP 的名義偽造一個(gè) RST 的數(shù)據(jù)包給客戶(hù)端,這樣連接就被我掐斷了!

 

這一招雖然不能保證百分之百成功,但我離客戶(hù)端更近,我的偽造包一般都能比真正的服務(wù)端響應(yīng)包早一步到達(dá)客戶(hù)端,所以成功率還是蠻高的!

唉,說(shuō)曹操,曹操就到!發(fā)現(xiàn)了一個(gè)可疑的連接來(lái)了,先不說(shuō)了,我要去忙了~

彩蛋:悄悄告訴你們,上次公司 HR 給我導(dǎo)入了一批 URL 列表,讓我重點(diǎn)關(guān)注下都是誰(shuí)在訪問(wèn):

  • www.lagou.com
  • www.zhipin.cpm
  • www.liepin.com

作者:軒轅之風(fēng)

編輯:陶家龍

出處:轉(zhuǎn)載自公眾號(hào)編程技術(shù)宇宙(ID:xuanyuancoding)

 

責(zé)任編輯:武曉燕 來(lái)源: 編程技術(shù)宇宙
相關(guān)推薦

2020-09-08 13:13:29

監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)

2023-06-20 08:28:17

2017-07-24 16:55:42

閃存數(shù)據(jù)中心SSD

2016-08-02 15:22:23

Tableau數(shù)據(jù)拜耳

2021-08-19 15:05:08

微信功能技巧

2020-10-18 07:33:58

單點(diǎn)登錄cas-serverkeycloak

2023-04-06 09:31:00

IT計(jì)劃項(xiàng)目業(yè)務(wù)

2024-03-21 14:21:48

系統(tǒng)重構(gòu)

2020-08-25 07:48:17

Kubernetes集群系統(tǒng)

2023-10-05 10:32:18

2012-11-28 09:50:47

大數(shù)據(jù)IBM云計(jì)算

2018-12-29 08:15:28

Tomcat應(yīng)用部署

2009-03-12 09:51:51

職場(chǎng)老板辦公桌

2025-02-12 19:06:00

2017-04-24 14:00:03

2016-01-28 10:04:09

Jenkins運(yùn)維持續(xù)交付

2021-08-10 07:27:42

Elasticsear集群開(kāi)源

2018-03-13 13:48:53

2015-05-15 09:56:26

程序員代碼

2015-05-13 13:59:02

碼農(nóng)拒絕
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)