正確姿勢:如何調戲蹭網者

jopen 10年前發布 | 8K 次閱讀 網絡

這篇文章本來是知乎回答的一個問題,但是由于本人五行缺勤奮,所以一直沒寫(其實是忘了=。=),下面是我的一個實驗,如何通過 squid 調戲那些蹭網的人。沒什么技術含量,請大牛不要笑話~

        聲明:本實驗僅作為技術分享,一把刀用來砍什么,由你決定。

        先上效果:

正確姿勢:如何調戲蹭網者

正確姿勢:如何調戲蹭網者

        是不是有點意思?

        這里還需要說明一件事情:

        本文目的在于分享,采用的方式是國外的 Pete 大大的一種做法,效果不錯,http://www.ex-parrot.com/pete/upside-down-ternet.html 但是這里不是重復造輪子,實在是 Pete 先僧寫得過于簡略,作為事件主角的 squid 居然被一筆帶過,squid 表示相當不爽(╯‵□′)╯︵┻━┻ 。

        如果可以通過上面的描述實現這個效果的,就不用往下看我的廢話連篇了~如果你和我一樣開始遇到過問題,那就跟著我走吧~先說一下大體的思路。

        既然是要對網頁中的圖片進行操作,那么我們首先需要把圖片下載到本地,然后進行變換之后再輸出到客戶端機器上面,就實現了圖片的翻轉,水印,模 糊等各種捉弄人的效果。當然功能絕不僅僅是這樣就算了,更多功能,大家看完之后不妨多挖掘一下,我就不多廢話了~好的,那么下面我們正式開始!

        0×01    實驗環境

        我先說一下我的實驗環境:

主機:ubuntu 虛擬機:windowsXP(vbox)軟件:squid、apache

        拓撲環境就不多廢話了,我這邊是 host 通過 wlan0 上網,虛擬機選擇 Host-Only 模式,連接到主機的 vboxnet0 接口(默認的,我沒修改)。

        0×02  系統配置

        這里,我們首先要把系統的網絡轉發功能打開,可以使用

echo 1 > /proc/sys/net/ipv4/ip_forward

        暫時啟用,當然也可以修改 sysctl.conf 永久轉發。
然后,對虛擬機進行 ip 設定,我這里設置為 192.168.56.21,子網掩碼 255.255.255.0

        0×03  軟件設置

        下面我們進行軟件的設置。

        apache 不多說了,你可以指定一個本地路徑作為網絡分享的地址,作用主要是發布修改后的圖片,我這里的路徑選擇是/mydoc/test/

        接著是 squid。

        關于 squid 的安裝這里不是重點,網上有很多的教程,我們著重說配置。Squid 的配置文件是在/etc/squid (3) 下面的 squid.conf。為了看起來能凸顯得我的高冷氣質(樓主自戀程度已經逆天…( _ _)ノ|壁 ),著重配置的點我都已經寫在上傳的文件里面了,文末我會給出地址,大家可以看一下。

        這里之所以說 squid 是關鍵,是因為我們主要使用了 squid 的 redircetor 的功能,即我們常說的重定向器功能。重定向器可以將收到的 url 進行改寫重定向,而且支持 python、perl、C等等語言寫的重定向腳本(程序),功能還是很強大的,這里感興趣的同學不妨玩玩~這里貼上《squid 權威指南》中關于 squid 的詳細描述,有問題可以到這里查閱:http://zyan.cc/book/squid/chap11.html

        然后,我們把腳本文件放在配置文件中指定的位置,我這里是放在了/etc/squid3/下面,這里需要注意的是文件的權限問題,因為 squid 默認運行權限是 squid 用戶,隸屬于 squid 組(squid3 是 proxy 用戶,proxy 組),所以如果 squid 沒有權限執行腳本文件的時候是會報錯的。這里的腳本文件我直接使用了 Pete 大大給出的 perl 腳本進行了一點點修改,可能是因為 Pete 直接從本地測試的,所以腳本有一點點的小問題,大家也可以從我給出的網址上下載。

        然后我們配置虛擬機的代理。因為這里我沒有用 iptables 進行流量轉發,為了方便,直接配置了瀏覽器的代理配置,這里代理 IP 192.168.56.1:8080,當然大家也可以使用 iptables 進行轉發,這樣就可以了。
最后我們重啟 squid。

sudo service squid restart

        (squid3 的服務名稱是 squid3),這里注意對于 squid 的任何操作一定要記得用 sudo 執行,否則會報錯。

        0×04  檢驗效果
這個時候,我們打開虛擬機,輸入 http://www.baidu.com,就應該可以看到 baidu 的 logo 是反向的了,打開更多網頁試試吧~是不是很好玩?23333。   

正確姿勢:如何調戲蹭網者

        當然,腳本只是使用了 flip 選項,當然這里不建議使用過于復雜的命令,會使瀏覽器響應過于慢。關于 imagemagic 的更多的效果可以從網上查閱,是一個相當強大的命令行圖片控制軟件。

        0×05  更多猜想
        實驗已經成功,那么我們說回到我們今天的 MITM 主題上面。有的同學或許會問:你得得得得說這么多,怎么應用啊?我這里提供一個小的方式,拋磚引玉:

        可以買一樹莓派,買一個 usb 上網卡,一張中國聯通或者中國電信的卡,再買一個無線網卡,用 airport 建個無線信號,買個電源,裝上 linux 配置好 squid,當然還可以打開 sniff,配好接收數據的服務器。。

        剩下的就是:背好你的背包,默默走到斯達巴克斯,點一杯咖啡,用吸管慢慢品嘗這份苦茗,望向窗外花壇那朵玫瑰,心里靜靜地想著那個 TA。。。

        說道這里,大家可能會想到菠蘿,其實因為菠蘿使用的是 openwrt 的精簡系統,很多東西不可以使用,而且配置比起樹莓派低了一些,大批量的圖片操作很容易讓 CPU 狂飆,自帶的 MITM 最近貌似也不能用了?不過還是推薦 Geek 們自行動手~

        如果有更多的想法,我們一起交流。        

        0×06  注意事項

        因為我在做實驗的過程中也遇到了很多問題,這里貼出一些常見的問題,大牛略過吧~:)

        1、注意接收圖片文件夾的權限和隸屬于的用戶,最好是能與 squid 用戶相同的用戶組。如果不是,可以使用 chown 進行修改。例:chown proxy.proxy xxx

        2、注意腳本文件的權限。腳本文件必須是可以被 squid 用戶執行的。

        3、注意 log 文件的權限,關于 log 文件一共有三個,位于/var/log/squid3/下,分別是 cache.log、store.log、access.log,這三個文件必須是可寫的,同時也可以直接用 chown 改變用戶所有權限。

        4、遇到更多虛擬機打不開網頁的問題,大家可以查閱/var/log/squid3/cache.log,這里會給出很詳細的說明。

        這里我能想到的暫時就這么多了,再有什么其他問題我們可以一起交流,我這里有一把肥皂。。。

        0×07  寫在最后

        最后,也沒什么好說的了,附上鏈接:https://github.com/linvex/MITM-squid/tree/master

        上幾張圖吧~

正確姿勢:如何調戲蹭網者

正確姿勢:如何調戲蹭網者

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!