回到首頁
關於我
我的Picasa
留言板
訂閱我的文章
放大字型
原始字型
回到最上層

控制主頁

公告

感謝各位網友的造訪與回應,由於工作的關係實在沒有心力繼續維護這個BLOG。對於各位的留言,有時候真的感到心有餘而力不足,所以沒有回應的部分,還請眾網友們多多包涵。Hans在這邊感謝你們的參與~~ 2011.12.20 Hans

2008年4月11日 星期五

GuardianWolf 計畫:當電腦被盜用時立即通知你!

2008 4/11 我希望我可以對社會有些許的貢獻...

GuardianWolf 計畫:一個在你電腦遭到盜用時,可以即時通知你的防盜軟體!

[動機與目的]

相信很多人對於電腦的實體安全都是相當重視的!很多人都不喜歡電腦被任意的開啟與使用!使用筆記型電腦的人更是需要擔心遺失,或遭竊的安全問題!

另外現在電腦多有提供遠端控制的功能,但是前提是,你必須要知道電腦目前的IP位址,如果家裡使用的是浮動IP,那麼對於想要遠端控制自己電腦的使用者來說,就增加了不少的使用限制。那麼,假設電腦可以主動通知自己目前的狀況,那麼上面的問題似乎就都不是問題囉!

本程式最主要的目的就是,主動告知電腦的擁有者,他現在的狀況!
應用1:
Q:我想即時知道電腦是否有遭到盜用,該如何處理?
A:讓電腦一開機時,主動通知你就好啦!

應用2:
Q:我的筆記型電腦遺失了,還有機會尋回嗎?
A:只要筆記型電腦有開機並連上網路,那麼就還有一絲機會!

應用3:
Q:我想遠端控制我的電腦,可是IP是浮動的,怎麼辦?
A:只要電腦一開機,就通知你目前電腦所使用的IP位址就好啦!

於是 GuardianWolf 計畫應運而生~

[文獻探討]

Gmail:Google 寄來的電子郵件

Gmail(在澳洲、德國和英國稱為Google Mail)是Google公司在2004年4月1日宣佈的一個免費的電子郵件服務。在最初推出時,新用戶需要現有用戶的電子郵件邀請,但已於2007年2月7日Google宣佈將Gmail完全開放給大眾使用,不再需要現有用戶的電子郵件邀請。最初推出時有1GB的儲存空間,大大的提高免費信箱容量的標準。

目前Gmail有超過6GB的容量,並且以大約每小時1.12MB的速度在增加。如果要另外租用更多的空間,可以以每年20美元的價格來取得10GB的儲存空間。 Gmail最令人稱道的就是他的使用介面,不但容易使用而且速度很快,此外Gmail也是一個著名的AJAX應用。
(資料來源:http://zh.wikipedia.org/wiki/Gmail)

Gmail 的 SMTP Server

由於Gmail有開放SMTP Server,可以讓使用者在任何地點使用自己的E-Mail程式來發送信件,這對本計畫來說是非常重要的一項資源,因為他可以讓你的電腦通過這個管道發送信件給你!

隨時使用 Gmail!

現在您可以在行動電話或裝置上的網頁瀏覽器存取 Gmail 郵件。 隨時隨地都可以讀取並回覆您的 Gmail 郵件。

*本服務完全免費。
(但是您的無線通訊計劃可能仍需付費,因此您最好先與服務供應商洽詢。)
*本服務功能卓越。它可以處理如相片和 PDF 檔案等附件。

它還有以下這些酷炫功能:
1.自動最佳化您的行動電話介面!
2.開啟您收到郵件裡的附加檔案 (包括相片、 Microsoft Word 文件和 PDF 檔案
3.讓您可以用電話回撥給電話號碼儲存在您 Gmail 通訊錄裡的人
(資料來源:http://mail.google.com/mail/help/intl/zh-TW/about_mobile.html)

Google Page Creator

Google Page Creator是Google實驗室在2006年2月23日推出的一個在線網頁編輯工具。它的主頁是 http://pages.google.com 。目前是公開Beta測試版本,它是需要Gmail帳號的。

Google Page Creator 的特點

Google網頁上表示這個服務「Create your own web pages, quickly and easily.」(快速、簡單地創造屬於你自己的網頁)。它的特點如下:

* 不需要專業技術知識
* 所見即所得編輯
* 為每個用戶免費提供100MB空間
* 提供多種模板
* 可以上傳文件
* 支持用HTML語言創建和修改網頁
* 自動保存

此外同一帳戶可以在已有的網頁空間裡開啟另外四個網頁空間,而這四個網頁空間的網址都是不同的,網頁空間和流量也是獨立計算的。
(資料來源:維基百科 ─ Google Page Creator)

JAVA

Java,是一種可以撰寫跨平臺應用軟體的物件導向的程式語言,由昇陽(Sun Microsystems)公司的詹姆斯·高斯林(James Gosling)等人於1990年代初開發。它最初被命名為Oak,目標設定在家用電器等小型系統的程式設計語言,來解決諸如電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊問題。由於這些智慧型家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著網際網路的發展,Sun看到了Oak在電腦網路上的廣闊應用前景,於是改造了Oak,在1995年5月以「Java」的名稱正式發佈了。Java伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。

Java 程式語言的風格十分接近C++語言。繼承了 C++ 語言物件導向技術的核心,Java捨棄了C++語言中容易引起錯誤的指標(以參照取代)、運算符重載(operator overloading)、多重繼承(以介面取代)等特性,增加了垃圾回收器功能用於回收不再被參照的對象所佔據的內存空間。在 Java SE 1.5 版本中Java又引入了泛型程式設計(Generic Programming)、類型安全的枚舉、不定長參數和自動裝/拆箱等語言特性。

Java不同於一般的編譯執行電腦語言和解釋執行電腦語言。它首先將原始碼編譯成位元組碼(bytecode),然後依賴各種不同平臺上的虛擬機來解釋執行位元組碼,從而實現了「一次編譯、到處執行」的跨平臺特性。不過,這同時也在一定程度上降低了 Java 程序的運行效率。但在J2SE1.4.2發佈後,Java的執行速度有了大幅提升。

與傳統程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術。全球數以萬計的 Java 開發公司被要求所設計的 Java 軟體必須相互兼容。「Java 語言靠群體的力量而非公司的力量」是 Sun 公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。

Sun公司對Java程式語言的解釋是:Java程式語言是個簡單、物件導向、分散式、解釋性、健壯、安全與系統無關、可移植、高性能、多執行緒和動態的語言。
(資料來源:http://zh.wikipedia.org/w/index.php?title=Java&variant=zh-hant)

[系統架構]

系統組成

本系統是由三個重要的資源所組成!

Gmail:免費、開放、功能強的電子信箱服務!
由於Gmail的免費與開放,我們可以以更低的成本讓這個系統來發送信件,加上開放的特性,即時你的電腦現在下落不明,只要它一連上網際網路,他就能告訴你,"嘿~ 老哥 我在這裡!"

Google Page Creator:由於本計畫需要一個固定的網路位址來放置設定檔,所以這邊使用 Google Page Creator 提供的免費網路空間來存放,至於為什麼要將設定檔放在網路上?因為正常的狀況來說,大多人是不會希望電腦只要一開機就告訴你我在這裡,我們只要再必要的時候,讓電腦來通知我就好啦!但是何時是必要的時候?根據本計畫的目的,通常你需要用到本系統時,電腦已經不在身邊啦!所以我們把設定檔放在網路上,如此一來,只要在設定檔內啟用通知服務,那麼只要你的電腦一上線,它就會通知你!

JAVA:由於作業系統千千百百種,所以一個能夠跨平台的程式語言就相當重要!如此才能再危急的時候,隨時隨地的使用本程式!而本計畫最終目的是希望可以在任何的平台上使用,例如:手機,PDA...等

另外,相當重要的一點就是... 作者只會寫JAVA...

系統運作方式

首先,GuardianWolf在一啟動的時候,就會不斷的嘗試去存取放在網路上的設定檔,直到存取成功為止。

接著,GuardianWolf會根據設定檔的設定,來決定是不是要發送信件通知你他目前的狀況,如果設定檔選擇不通知,那麼 GuardianWolf 就會自動結束!如果設定檔選擇啟用通知功能,那麼系統就會開始傳送電子郵件到你所設定的信箱中!

接著,再發送電子郵件之前,它會先收集系統的對外IP資訊,以及內部IP資訊,然後將這些資訊以電子郵件傳送出去,如果傳送失敗,則會不斷重試,直到成功為止!

最後,發送完信件,系統自動結束!

[使用說明]

本程式在JDK 1.6下開發,至於能不能在JDK 1.6以下的平台使用,則有待測試!所以說~ 要使用本程式,請先確定你的電腦可以執行JAVA...

Step1:第一次使用本程式請在"命令提示字元"下輸入下列指令,以用來建立個人資料檔
"java -jar GuardianWolf.jar -c [username] [password] [mailto] [configurl] [retrytime]"

[username] 你的 GMail 帳號
[password] 你的 GMail 密碼
[mailto] 設定要將系統資訊傳送到何處的 e-mail 位址
[configurl] 設定你的網路設定檔位址
[retrytime] 設定系統重試的間隔時間 (單位(ms) 1 sec = 1000 ms)

執行完後,系統會在同一個目錄下產生一個 "Profile.ser" 用來存放你的個人資料

Step2:將設定檔上傳到網頁空間,壓縮檔內的 "GuardianWolf_Config.xml" 就是設定檔。

Step3:設定讓電腦一開機就執行本程式
在 "開始 > 程式集 > 附屬應用程式 > 系統工具 > 排定的工作",在裡面可以設定一開機就執行,本程式的壓縮檔內含一個 "startup.bat",如果不想打太多指令,可以讓Windows去執行這個批次檔!

[未來展望]

本系統希望未來可以在任何平台上隨時隨地,只要你有需要就能夠使用!另外在功能上,目前僅能做到電子郵件通知,未來不排除使用即時通訊系統來做通知,不過作者很懶,現在還懶的開發。而除了通知的功能,未來也將朝著遠端控制系統的方向去走,但是絕不朝著挖人隱私的方向發展,不過有時候作者也會產生邪念就是了...

[備註]

本系統所使用的元件部份參考網路上的資源,但並沒有正式經過使用者授權,如有侵權問題,煩請告知

NetWork.java 參考:JavaWorld:IP偵測程式 作者:rekcah
SendGMail.java 參考:JavaWorld:利用 Gmail 發信
XmlHandler.java、LoadConfig.java 參考:JSP 2.0技術手冊 作者:林上傑 林康司 碁峰出版

[本軟體的授權條款]

作者:Hans Huang
作品名稱:GuardianWolf
時間:2008.04.11

Creative Commons License
本 著作 係採用創用 CC 姓名標示-非商業性-相同方式分享 2.5 台灣 授權條款授權.

檔案下載:GuardianWolf_1.0.080411.zip (1053KB)


6 回應:

SCpisces 提到...

哇哇哇~
上手ですね!!

Hans 提到...

我需要翻譯...

大蛇丸 提到...

包一包拿去賣錢~
http://goods.ruten.com.tw/item/show?11071129956473

jason 提到...

您好:
請問
[configurl] 設定你的網路設定檔位址
該設定?

Hans 提到...

你是想問"該不該設定"還是"該如何設定"?

這個選項是一定要設定的,壓縮檔內的 "GuardianWolf_Config.xml" 就是網路設定檔,先在這個設定檔內設定好,然後將他上傳到免費的網頁空間就可以了。

我是使用Google Page Creator的服務,然後將網路設定檔上傳,你就可以得到你的設定檔的網址,然後帶入[configurl]這個參數裡面即可。

例如網址是:http://帳號.googlepages.com/GuardianWolf_Config.xml

那就將這串網址輸入進去即可。

由於電腦開開關關是很正常的事情,所以不可能讓電腦每開一次機就發送mail通知你,透過放在網路上的設定檔,只要開機上網在依造設定檔動作就好。這樣的話即使電腦不在身邊,也可以透過修改設定檔,讓電腦再下次開機上網時通知你。

jason 提到...

THX ~

瞭解了