清除dns緩存命令行_怎么防止移動dns劫持,防止移動dns劫持要先了解什么是dns劫持...

本人以網絡技術出身,近兩年接觸CDN網絡,處理了一些CDN方面的網絡問題,大多數以運營商丟包,延遲抖動為主,也處理一些硬件故障,比如機械硬盤的讀寫io測試,內存條兼容性測試,服務器IPMI規劃等。這篇文章打算把自己對運營商對資源請求的劫持寫下來,這個其實不是很罕見的事例,也不是網上找不到解決辦法,也不是無法理解的尖鉆技術,只是羅列一下自己的所知。


CDN網絡訪問拓撲

既然提到了CDN網絡,那就順帶提一句吧。

這回可以開始廢話了吧?:大體的工作邏輯有用戶的訪問、localdns的解析、CDN資源調度、資源應答。

如果按照這種方式去運營CDN,估計CDN行業早就倒閉了,先不說資源調度的好壞,如果有惡意的攻擊流量,整個CDN系統就直接可以GG思密達了。

IIS7網站監控工具可以做到提前預防各類網站劫持,并且是免費在線查詢,通過查詢知道域名是否健康等等。

它可以做到24小時定時監控:

2、網站是否被劫持

3、域名是否被墻

4、DNS是否被污染

5、獨家檢測網站真實的完全打開時間

檢測地址:IIS7網站檢測

f3b8a1f31043cba38f57a10c4cecf7a9.png

所以我這里也只是為了闡述運營商劫持行為,簡單的說明了一下CDN網絡,讀者千萬不要認為CDN如此的簡單,CDN需要更多更強大的調度系統、數據監控系統、nginx、lvs等系統技術(我也就知道這些了)。高端的CDN廠商還有自建專線、自建IDC、甚至用到了ISP的骨干策略MPLS-TE。這些都是不可小覷的技術,詳細的CDN知識我就不賣弄了,畢竟我只是做網絡的,對系統部分還很薄弱,喜歡了解的讀者可以閱讀《CDN技術詳解》來增長對CDN的見解。

運營商劫持概述

劫持的目的

其實目的很簡單,關于運營商劫持,一般運營商也不是無故做劫持,畢竟他們維護服務器,維護相應設備(比如分光器、分流器)也需要成本,運營商主要劫持出省流量,對于“小”運營商來說他們有省內流量考核,跨省訪問會增加成本輸出,集團控制出省流量,所以劫持往往發生在省間傳輸上。其次所有運營商都可能會做劫持,目的是減少省骨干網絡鏈路的負載壓力,盡可能的減少中繼鏈路、遠距離骨干鏈路,負載能力弱的鏈路上的流量,則會出現劫持的現象。

劫持的方法

運營商/或者小區寬帶會有分光器設備,因此可以把用戶請求流量進行映射,從而獲取用戶請求響應,即可達到用戶需要什么,然后再根據搶先建立HTTP連接,優先傳給用戶數據,這樣真正提供資源的服務器返回來的數據就自然的被丟棄掉了。

劫持的演變

劫持的邏輯,慢慢的轉化為了目前的CDN廠商在做的事,當然CDN廠商的流量調度主要是為了解決客戶資源的分布式訪問,避免用戶訪問資源時長時間等待。我也是在接觸CDN網絡以后,才慢慢接觸到了運營商劫持,運營商主要的劫持動作還是修改訪問資源的ip,也就是域名302了。

劫持類別

劫持大可分為三類:

– DNS解析劫持

– 域名302劫持

– NATip劫持

關于DNS劫持

DNS劫持也可以理解為用戶的請求去往了錯誤的DNS服務器進行查詢解析,返回來的目的主機IP自然不是我們想要達到的資源服務器主機,這往往發生在用戶請求的第一步,目前在鵬博士網內遇見的比較常見。

長寬資源經常出現被劫持和轉發錯誤的現象。解決辦法如下:

1、把轉發列表寫到named.conf文件里,更新我們的轉發ip

2、然后編寫策略針對我們要去的域名從BGP出口出去,防止NAT。

http://x.x.x.x.com,(綁定hosts: http://xxxx.xxxx.com )

zone "http://cdnxx.com" {

type forward;

forward first;

forwarders { x.x.x.x;x.x.x.x;x.x.x.x};

};

zone "http://cdnxx.com" {

type forward;

forward first;

forwarders { x.x.x.x;x.x.x.x;x.x.x.x };

};

場景1:

DNS服務器為本地運營商的DNSip,但是解析到的目標cache是其他省市的ip。

原因是轉發或者nat沒有做好,沒有轉發到我們指定的DNS服務器上進行解析,或者從nat口出去,改變了長寬的源地址。

場景2:

DNS服務器為本地運營商的DNSip,但是解析到的目標cache是本省市的ip。

原因是本地運營商有cache緩存,相當于小型的CDN節點服務器(瀏覽器的cookie),要把我們需要的域名添加到緩存黑名單里,不進行本地緩存。

場景3:

DNS服務器為本地運營商的DNSip,但是解析出來的ip,有時候是正確的,有時候是其他運營商的。

原因是該地市有多個cache服務器,需要在緩存服務器里把所有的轉發ip和域名都做好緩存黑名單。

運營商解決時需要添加的列表:

ixcache緩存設備 panabit(流控)把不做緩存的域名加入到名單里。

場景4:

DNS解析有時候成功有時候失敗。

原因是長寬本地會有緩存服務器,之上有一個緩存控制器,如果我們的解析被緩存服務器命中,就會本地直接返回結果,所以要在控制器上做策略,禁止調用到緩存。

其實我在排版的時候一直在糾結,我這個圖應該放在這部分的前面還是后面,左右了半天還是決定貼在后面吧,這樣不會沖亂DNS forward的配置。

關于域名劫持HTTP302

HTTP302即為:訪問的資源暫時性轉移,得到新的資源位置,然后重新訪問獲取資源。

這其實就是典型的CDN運營架構了,CDN的資源調度就是這么去做的。假如北京的用戶需要訪問某個網站,CDN公司得到網站方的授權后,就會把直接訪問的URL做CNAME跳轉到CDN調度服務器上,接下來根據區域localdns的識別將北京的用戶請求,調度到就近的節點進行服務。

那么,CDN可以利用HTTP302進行調度,那么運營商“更”可以這么做了,這里說的“可以”中心意義是運營商有著近水樓臺的優勢,在IDC出口方向可以把流量做鏡像到自己的服務器上,該服務器可以將URL上的資源提取出來,然后查找自己的<span class="colour" style="color: rgb(120, 157, 191);">數據庫</span>、存儲資源是否有該資源,如果有那么就會302到自己的服務器上,為用戶提供資源,從而攔截了正常的請求響應。如果沒有該文件,運營商通常會統計資源的熱點程度,畢竟運營商的存儲設備也不是無限大的,為了提高利用率肯定要優先緩存訪問量高的文件。接著剛才的說,如果存儲設備里沒有該資源,那么運營商會監聽這個請求流,直到請求返回應答,這樣自己在本地也就可以備份一份資源了,如再有請求過來,就可以直接吐給用戶數據。這樣就做到了劫持。

當然,再進一步講,劫持動作可以做到你家門口,原理、意義,同上。

解決辦法

原理和現象比較好說,但是說到解決辦法其實并沒有什么主動出擊,考自己攻破的方法,只能求爺爺告奶奶的去找我們的IDC機房,讓他們把我們劫持的現象(HTTP302)、訴求、相關數據上傳到集團哪里,找到相對應的人員才可以解決。運營商一般處理辦法就是在他們自己的緩存設備上把劫持的域名加入白名單,然后清除緩存。這樣再過來請求的流就不會被劫持了。

我還見過其他方式的劫持,不是運營商自己做的,而是和競爭廠商一起做的,比如A公司和B公司為行業利益相爭的友商,不湊巧的是A公司的實力比較雄厚可以收攏運營商的人,或者某個IDC機房的人,在機房出口或者小區出口架設分流器等設備來采集通過的業務流量,一旦流量被匹配上之后也直接做劫持,這種情況再工作中雖然不常見,但是只要遇到解決起來極其的費勁

  • 我們應該向客戶說明情況并收集一些證據如劫持證據、證明CDN授權、監控數據等。
  • 聯系劫持ip歸屬地的IDC機房負責人或者運營商的人來說明情況。
  • 有些運營商也建議直接找當地公安局、網警進行報案,并配合處理。
  • 自行去當地機房查看設備情況,一同排查內部架構。
  • 找到被劫持的友商了解情況,通過公司高層、集團領導出面處理。
  • 技術過硬的話可以采取HTTPS進行加密傳輸,或者其他技術手段避開數據采集。
  • 最后一點,希望以上建議可以解決問題,如不能,請看下一條。
  • 最最后一條,終極奧義!以其人之道還治其人之身!

收個尾巴

暫且,個人對運營商劫持的理解也就到這個層次,但是我相信,在我職業生涯中這里面的貓膩肯定不是只有這些,運營商想搞事情,誰攔得住?!

2017年10月25日

工作中遇到新的劫持現象,http狀態碼499突增。

我先說現象:

抓包看到,客戶端有request請求包過來,然后按理說服務器需要回response返回給客戶端,但是隨即又收到了客戶端發來的RST這就表示客戶端又把連接關閉,起初排查時候認為是下載速遞有影響導致客戶端等待不及就把連接手工斷開了,或者是客戶端的故障導致重新建聯,隨后找到運營商那邊了解情況,發現業務訪問沒有影響,細查后發現是有緩存設備。

緩存原理:

當客戶端(真)發起請求時,經過一系類的dns解析、調度來我們服務器,然后建立tcp連接后準備請求數據,然后緩存服務器進行數據流分析,根據文件類型做匹配,如果匹配到緩存服務器中有該請求文件,則做2個動作,第一是返給客戶端302跳轉到自己的緩存存儲服務器上請求數據,第二是模仿客戶端的ip地址向真正的業務服務器發起斷開連接,服務器會認為客戶端(假)取消了建聯,進而切斷了真的客戶端與服務器之間的數據交互。然后緩存服務器把資源吐給客戶端。

排查后就需要聯系緩存業務的人員取消劫持,只是在排查過程中很難發現有“中間人”在從中搗亂。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276479.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276479.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276479.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 修改上傳文件大小 (max_execution_time post_max_size)

轉載鏈接&#xff1a;http://hi.baidu.com/ttl289/item/683c8223a54c6d0f76272cd7 有些朋友要通過自己的網站后臺&#xff0c;包括論壇&#xff0c;來上傳一些文件&#xff0c;php一般為2m&#xff0c;或8m&#xff08;以下我們按默認為2m&#xff09;&#xff0c;接下來就是來…

移動硬盤格式化(pc和mac共用)-菜鳥級解決方案[轉]

用pc的時候買了一個320G的移動硬盤&#xff0c;從來沒考慮過什么格式化的問題&#xff0c;插上就用了。 后來接觸mac才發現pc和mac在移動存儲設備的格式化上還是有不少沖突的。如果你的移動硬盤mac上不能修改&#xff0c;或者pc上找不到&#xff0c;那就盡情得批判萬惡的資本主…

【php】php的ssh2擴展的安裝

ssh2(secure shell2)&#xff0c;對于遠端主機提供高安全性的資料傳輸工作。安裝&#xff1a;1、首先要裝OpenSSL。 2、要安裝 libssh2../configure && make all install3、再然后&#xff0c;安裝PECL/ssh2可以使用 pear install ssh2安裝&#xff08;有的說是 pear i…

回答知乎問題:你寫過什么自認為驚艷的詩?

首次整理于 2019-07-27 22:04:00&#xff0c;現在整理發布在公眾號申明原創。整理了一下大學期間2012年&#xff5e;2016年發布在QQ空間&#xff0c;自己感覺寫得還行的七首“詩詞”。回答知乎問題&#xff1a;你寫過什么自認為驚艷的詩&#xff1f;中國古詩詞博大精深。小時候…

lighttpd安裝配置支持php

轉載鏈接&#xff1a;https://wiki.freebsdchina.org/howto/n/php_fastcgi_lighttpd 安裝lighttpd 記得在SPAWNFCGI前打勾 [X] SPAWNFCGI Depend on spawn-fcgi utility #cd /usr/ports/www/lighttpd #make config #make install clean 安裝php 模塊自己看自己需要 #cd /usr/p…

密碼可逆不可逆選擇_膝關節損傷不可逆!跑步要注意!

膝蓋同時也是運動者最常受傷的關節。根據美國運動醫學整型外科協會的報告&#xff0c;美國每年約有三百萬人拉傷、挫傷、或扭傷他們的膝部&#xff0c;其中約有一半是因為運動引起的。而對于跑者而言&#xff0c;影響最大的就是我們的膝關節。換言之&#xff0c;長跑的潛在危害…

MS CRM 2011 C#中獲取Web Resource

原創地址&#xff1a;http://www.cnblogs.com/jfzhu/archive/2013/02/15/2913077.html 轉載請注明出處 我在以前的文章中講過如何用JScript讀取web resource資源&#xff0c;我在本文中將要講解如何在C#中獲取web resource資源。 有時候可能有這樣的需求&#xff0c;你需要在一…

測試驅動開發

測試驅動開發: 測試驅動開發&#xff08;Test Driven Development,英文縮寫TDD&#xff09;是極限編程的一個重要組成部分&#xff0c;它的基本思想就是在開發功能代碼之前&#xff0c;先編寫測試代碼。也就是說在明確要開發某個功能后&#xff0c;首先思考如何對這個功能進行測…

面試官問:能否模擬實現JS的call和apply方法

寫于2018年11月30日&#xff0c;發布在掘金上閱讀量近一萬&#xff0c;現在發布到微信公眾號申明原創。相對比較基礎的知識&#xff0c;雖然日常開發可能用得比較少&#xff0c;各種源碼中有很多call和apply&#xff0c;需要掌握。前言這是面試官問系列的第三篇&#xff0c;旨在…

HTML中小meta的大作用

轉載鏈接&#xff1a;http://www.pconline.com.cn/pcedu/sj/wz/html/0401/293106.html meta是用來在HTML文檔中模擬HTTP協議的響應頭報文。meta 標簽用于網頁的<head>與</head>中&#xff0c;meta 標簽的用處很多。meta 的屬性有兩種&#xff1a;name和http-equiv。…

prometheus 發送恢復 值_Prometheus基礎知識介紹

【編者的話】本文會讓你了解Prometheus是什么&#xff0c;并讓你理解它在監控領域的適用場景。Prometheus起源很久以前&#xff0c;加利福尼亞州山景城有一家名為Google的公司。他們推出了大量產品&#xff0c;其中最著名的是廣告系統和搜索引擎平臺。為了運行這些不同的產品&a…

FAT32格式和NTFS有什么區別

FAT32與NTFS的區別在推出FAT32文件系統之前&#xff0c;通常PC機使用的文件系統是FAT16。像基于MS-DOS&#xff0c;Win 95等系統都采用了FAT16文件系統。在Win 9X下&#xff0c;FAT16支持的分區最大為2GB。我們知道計算機將信息保存在硬盤上稱為“簇”的區域內。使用的簇越小&a…

修復系統COM+

有的時候由于安裝COM&#xff0b;過程中出錯&#xff0c;可能會造成不能再次展開COM&#xff0b;瀏覽器的〔我的電腦〕。解決辦法&#xff1a;1 刪除注冊表鍵HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM32 運行appwiz.cpl&#xff0c;打開系統的[添加\刪除]窗體&#xff0c;點擊…

面試官問:JS的this指向

寫于2018年12月25日&#xff0c;發布在掘金上閱讀量近一萬&#xff0c;現在發布到微信公眾號申明原創。前言這是面試官問系列的第四篇&#xff0c;旨在幫助讀者提升JS基礎知識&#xff0c;包含new、call、apply、this、繼承相關知識。面試官問系列文章如下&#xff1a;感興趣的…

CSS實現div懸浮框的代碼(兼容IE6)

轉載鏈接&#xff1a;http://hi.baidu.com/grayworm/item/b735c2061f4e33ea34990265 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://ww…

python數組替換_Python:替換數組中的值

我會按照以下思路做些事情&#xff1a;import numpy as npdef fill(arr, fwd_fill):out arr.copy()if fwd_fill:start, end, step 0, len(out), 1else:start, end, step len(out)-1, -1, -1cur out[start]for i in range(start, end, step):if np.isnan(out[i]):out[i] cu…

(原創) 如何在Ubuntu設定P7010的1280 x 768解析度? (OS) (Linux) (Ubuntu) (NB) (P7010)

AbstractFujitsu P7010唯一較特別的硬體規格就是1280 x 768的解析度&#xff0c;無論任何Linux distribution預設都只能抓到1024 x 768&#xff0c;該如何才能抓到最佳的1280 x 768呢?IntroductionP7010非常適合Linux&#xff0c;但唯一的遺憾就是1280 x 768解析度不被支援&am…

python的常量和變量_python變量和常量

變量什么是變量&#xff1f;變量&#xff0c;是用于在內存中存放程序數據的容器計算機的最核心功能就是“計算”&#xff0c; 計算需要數據源&#xff0c;數據源要存在內存里&#xff0c;比如我要把小明的姓名、身高、年齡信息存下來&#xff0c;后面程序會調用。怎樣定義一個變…

要做PPT,一直找不到資源?

寫于 2016年6月&#xff0c;工作后就很少做PPT了。但工作至今也有人問我如何做PPT有沒有模板之類的問題&#xff08;比如&#xff1a;大學室友做公司年度匯報時也找到我問有沒有模板&#xff0c;我發了這篇文章給他&#xff0c;他說不記得我寫了這篇文章呀&#xff09;&#xf…

Linux系統安裝Appach 2.4.6

轉載鏈接&#xff1a;http://www.cnblogs.com/kerrycode/p/3261101.html Apache簡介 Apache HTTP Server&#xff08;簡稱Apache&#xff09;是Apache軟件基金會的一個開放源碼的網頁服務器&#xff0c;可以在大多數計算機操作系統中運行&#xff0c;由于其多平臺和安全性被廣…