Android軟件廣告屏蔽方法及代碼

由於某些原因,可能需要修改 hosts 文件指定域名到對應的 IP 地址。Android 是基於 Linux 的系統,與 Linux 類似,通過 hosts 文件來設置。

  在 Android 下,/etc 是 link 到 /system/etc 的,我們需要修改 /system/etc/hosts 來實現。但是這個文件是隻讀,不能通過 shell 直接修改。可以通過連接到 PC 上使用 adb 來修改。步驟如下:
  1、獲得root權限:adb root
  2、設置/system爲可讀寫:adb remount
  3、將hosts文件複製到PC:adb pull /system/etc/hosts
  4、修改PC機上文件
  5、將PC機上文件複製到手機:adb push /system/etc/hosts
  如果要查看是否修改成功,可以在PC上執行adb shell,運行cat /system/etc/hosts;或者在手機上運行cat /system/etc/hosts。
  在Android系統中,hosts文件格式有一點與PC機Linux不同:不能在一行中一個IP對應多個域名,比如:
  127。0。0。1 host1。example。com host2。example。com host3。example。com
  在大多PC機Linux系統是合法的,但不能在Android上起作用,需要拆成每個域名一行才能使用:
  127。0。0。1 host1。example。com
  127。0。0。1 host2。example。com
  127。0。0。1 host3。example。com


現在讓我們來看看Hosts在Windows中是怎麼工作的。

  我們知道在網絡**問網站,要首先通過DNS服務器把要訪問的網絡域名解析成XXX.XXX.XXX.XXX的IP地址後,計算機才能對這個網絡域名作訪問。
  要是對於每個域名請求我們都要等待域名服務器解析後返回IP信息,這樣訪問網絡的效率就會降低,因爲DNS做域名解析和返回IP都需要時間。
  爲了提高對經常訪問的網絡域名的解析效率,可以通過利用Hosts文件中建立域名和IP的映射關係來達到目的。根據Windows系統規定,在進行DNS請求以前,Windows系統會先檢查自己的Hosts文件中是否有這個網絡域名映射關係。如果有則,調用這個IP地址映射,如果沒有,再向已知的DNS服務器提出域名解析。也就是說Hosts的請求級別比DNS高。
Hosts文件的具體作用  現在來看一下Hosts文件的工作方式以及它在具體使用中起哪些作用。
  1、加快域名解析
  對於要經常訪問的網站,我們可以通過在Hosts中配置域名和IP的映射關係,提高域名解析速度。由於有了映射關係,當我們輸入域名計算機就能很快解析出IP,而不用請求網絡上的DNS服務器。
  2、方便局域網用戶
  在很多單位的局域網中,會有服務器提供給用戶使用。但由於局域網中一般很少架設DNS服務器,訪問這些服務器時,要輸入難記的IP地址。這對不少人來說相當麻煩。現在可以分別給這些服務器取個容易記住的名字,然後在Hosts中建立IP映射,這樣以後訪問的時候,只要輸入這個服務器的名字就行了。
  3、屏蔽網站(域名重定向)
  現在有很多網站不經過用戶同意就將各種各樣的插件安裝到你的計算機中,其中有些說不定就是***或病毒。對於這些網站我們可以利用Hosts把該網站的域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。在WINDOWS系統中,約定 127.0.0.1 爲本地計算機的IP地址, 0.0.0.0是錯誤的IP地址。
  如果,我們在Hosts中,寫入以下內容:
  127.0.0.1 # 要屏蔽的網站 A
  0.0.0.0 # 要屏蔽的網站 B
  這樣,計算機解析域名 A和 B時,就解析到本機IP或錯誤的IP,達到了屏蔽網站A 和B的目的。
  4、順利連接系統
  對於Lotus的服務器和一些數據庫服務器,在訪問時如果直接輸入IP地址那是不能訪問的,只能輸入服務器名才能訪問。那麼我們配置好Hosts文件,這樣輸入服務器名就能順利連接了。
  5。 屏蔽不想訪問的網站的例子
  這裏給出一些收集到的利用Hosts文件對一些網址屏蔽的例子,供大家學習使用Hosts文件時參考。
  例1。
  在 hosts文件中加入如下內容就可以屏蔽文件中定義的對應的網址。
  127。0。0。1 localhost
  127。0。0。1 download。3721。com
  127。0。0。1 3721。com #3721網絡實名
  127。0。0。1 3721。net #3721網絡實名
  127。0。0。1 cnsmin。3721。com #3721網絡實名
  127。0。0。1 cnsmin。3721。net #3721網絡實名
  127。0。0。1 download。3721。com #3721網絡實名
  127。0。0。1 download。3721。net #3721網絡實名
  127。0。0。1 www。3721。com #3721網絡實名
  127。0。0。1 www。3721。net #3721網絡實名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章