Sunday, April 29, 2007

Google Maps 向量圖資就位

剛才想說看一下我在FON Maps的地圖上的點有沒有亮
一打開就嚇了一跳
那就是台灣地區的向量圖資已經放上去了!
先前是沒有向量圖資的
根據畫面下端的版權宣告的地方,是寫Kingway
也就是勤崴科技,原先還以為合作機率最高的會是UrMap
不過似乎是有改進的空間
向量圖資和實際的空間似乎還有些許誤差
不過能與Google這隻怪獸整合
前途大多一片看好

目前Google Earth在台灣地區尚未出現向量圖資
相信不久後,應該也會整合在裡面

註:FON Maps以Google Maps為基礎,並在地圖加上FON Hotspot的標記


Fig: Google Maps with vector data (Click to enlarge)

Friday, April 27, 2007

整體進度還不錯

As title~雖然離全部完工還需要些時日
不過應該是不遠了 XD

由於要編寫自動安裝指令檔,需要能自動修改檔案的內容,並以變數取代之,參考了以下文章,有興趣的可以看看 ^^ 主要是與cat > file.sh <<>有關的東西
Shell Programming
9.6 Here Document

Monday, April 23, 2007

真是怪

嗯嗯.....
似乎從今天開始,當Client的那台FON就變得不太對勁
常常已連線到SSH,但過一陣子後,SSH就死在那裡
可是還可以從無線網卡和上游的FON ping得到
接著就是整台FON都死掉了,只有Reset一途
然後會恢復正常

但剛才發現,若SSH死掉後,一直不理它
最後它會自己重開機,然後又恢復正常
真不知道是怎麼回事......

回家想說測一下長時間閒置會不會導致FON的ath2斷線,然後不會重連
結果似乎是會的樣子
現在在S99wds裡加上了ping default router的背景執行指令,希望能改善這個問題

文章哦,生產中,天知道什麼時候會完工 XD

Sunday, April 22, 2007

FON: Prevent Clients to Access Unauthorized Zone

若您的網路架構較複雜,使用FON的FON_AP信號的使用者,將有機會使用區域網路內原先不應使用的資源,這會是個嚴重的安全性問題。原先筆者在PTT的FON板提到更改Subnet Mask的方法,雖然可以解決此問題,但卻會影響正常的網路連線,顯然這並非好的解決方案。

FON的iptables內預設的規則,是依照您Ethernet介面取得或設定的IP位址和Subnet Mask,來決定禁止FON_AP信號的使用者存取哪個網段。但如果今天有著像下圖一樣複雜的架構,則無法有效禁止FON_AP使用者存取其它網段。


Fig 1: An example of network infrastructure (Click to enlarge)


以上圖為例,FON內建規則保護的範圍為192.168.116.0/24(圖上的亮綠色範圍),從FON_AP來的連線,想存取這網段的都會被過濾掉。而存取橘色網段內的電腦則是可行的,它們不在預設規則的保護範圍內。也就是說,只要能修改預設的規則,就能增加保護的範圍,進而提升區域網路的安全性。

瞭解原理之後,接下來開始修改FON裡面的檔案,步驟相當的簡單!

1. 您必須能存取FON的Terminal。若您尚無法存取,請先參考FON: Unbrick your La Fonera!

2. 透過SSH登入您的FON之後,若您熟悉vi編輯器的操作,請跳至3a,其它的請跳至3b

3a. 會操作vi的就省事囉!執行vi /etc/hotplug.d/iface/20-firewall。在最後大括號的的前一行加上這一行:iptables -A WAN_HOOK -o $wan_ifname -d 192.168.0.0/16 -j DROP。修改完成後會像下圖一樣,最後請存檔離開。這裡假設您要阻擋的網段為192.168.0.0/16,請依實際需求自行做調整。


Fig 2: Modify default firewall settings (Click to enlarge)


3b. 先貼上rm /etc/hotplug.d/iface/20-firewall後按Enter,然後再貼上wget -O /etc/hotplug.d/iface/20-firewall http://lookfree.info/blogger/2007/04/FON_hotplug_firewall並按Enter,務必整串綠色字一起複製。下載完成後即可進入下一步驟。本設定檔假設您要阻擋的網段為192.168.0.0/16,請依實際需求自行做調整。

4. 輸入reboot並按Enter,FON會重新啟動。重新啟動完成後,您可以連線至FON_AP,測試您的設定是否生效。

註:若您無法確定要設定多大的網段,您可以在此篇文章留言,並附上您的網路架構,將會幫您解答。設定錯誤的網段,會影響網路的運作。

Saturday, April 21, 2007

AutoRun with Opening Specific File

許多市面上的光碟,只要一放入光碟機,就會啟動光碟上的程式,或是做一些預先設定好的動作,這個功能稱為AutoRun。它最大的好處,就是可以讓使用這片光碟的人,不用做額外的動作,就能知道光碟裡面大致上有什麼內容,是個相當方便且重要的功能!假如自己做的光碟也想要有類似的功能,只要研究本身有AutoRun功能的光碟,自然也能有相同的功能。但常見的光碟,啟動的內容多半是可執行檔(.exe),倘若今天想要讓使用者看到的是文件、影像或圖片,並且使用系統預設的程式,就像我們對檔案點兩下打開的動作一樣,那又該怎麼做呢?由於這樣的範例並不常見於市面上的光碟,本篇文章的重心會放在這裡。

Autorun功能依賴以下兩個部分:一是系統有啟動Autorun功能,若系統未啟動此功能,即使光碟上有Autorun.inf,都不會自動顯示出來;另一個是光碟根目錄要有Autorun.inf,這樣Windows才知道要開哪些檔案、程式,或者是要換成哪個圖示。

在繼續探討之前,我們先來瞭解一下,能夠啟動可執行檔的Autorun.inf長什麼樣子:

[autorun]
OPEN=SETUP.EXE
ICON=D2X.ICO

理解能力較好的讀者,應該能猜出openicon這兩行的用途吧!顧名思義,open就是光碟一放進去,Windows該執行什麼指令;icon則是光碟片的小圖示該由哪個檔案來替換。這兩行的意思,就是要Windows啟動光碟片上面的setup.exe,並且把光碟機的小圖示替換成D2x.ico。

問題來了,如果今天不是要啟動可執行檔,而是要開啟特定的文件,例如1.txt,是只要把setup.exe替換成1.txt就好了嗎?這樣做的話會得到下面的結果。


Fig: Failed to open specific file.


Oops! 顯然這樣是不行的。在網路上找到了二種可行的辦法:第一種是把原先的1.txt改成start 1.txt,這在某些情況下是可以運作的,不過在開啟檔案之前,會先出現一下像DOS視窗的東西,然後才會開啟你設定的檔案,感覺和一般的操作習慣略有不同。而另一種是把open換成shellexecute,然後在=號的後面,直接加上想要開啟的檔名就可以了,但此方法並無法在Windows 98下使用。

為了瞭解這兩種方法在特定環境下的運作情形,筆者以此兩方法,分別在Windows 98, 2000, XP三套作業系統進行測試。

方法一:使用open

[autorun]
open=start 1.txt
ICON=D2X.ICO

方法二:使用shellexecute

[autorun]
shellexecute=1.txt
ICON=D2X.ICO


在Windows 98下:
方法一:正常運作
方法二:直接開啟光碟根目錄,並未執行其它指令

在Windows 2000下:
方法一:剛放進光碟時,會顯示錯誤訊息框:「存取的檔案或裝置被拒絕」。若在光碟機圖示按滑鼠右鍵並選擇自動播放,則出現「Windows找不到start.exe」
方法二:正常運作

在Windows XP下:
方法一:無反應。另一台也是裝Windows XP的電腦,則是詢問要用哪個程式來開啟光碟機的根目錄。
方法二:正常運作

總合以上測試的結果,若不考慮Windows 98的相容性,方法二是較好的選擇。最後您只需把上面方法二的內容,完整的存成Autorun.inf,並修改shellexecute後的檔名,改成想自動開啟的檔案名稱,最後再放在光碟的根目錄中,燒錄完成後就能享受此功能帶來的好處!

註:若要執行的檔案,其路徑或檔名中包含空白,其結果將無法預知!在筆者的XP能正常使用,但在另一台卻說找不到檔案,解決辦法可用修改檔名,或以_來取代空白。


參考資料:
CD/DVD AutoRun basics
AutoRun編寫【基礎篇】 ICON圖檔製作

FON: Unbrick your La Fonera!

在0.7.1 r2之後(含)的Firmware,由於修正了管理介面的漏洞,若想透過SSH client使用FON的Terminal,大致上還有以下選擇:第一種是先前提到的Firmware Downgrade,這個成功機率以運氣成份居多,並非每台都能成功降回至先前版本。第二種是用Hard Reset的方法,試圖還原成未更新前的狀態。不過Hard Reset的方法眾說紛紜,你能用的方法,並不代表我也能用,所以此方法的變數也相當大。最後是利用Serial Console的方法來取得Terminal,也就是俗稱的硬改,此方法相當徹底,操作過程正確的話一定會成功,惟需較多電子或電路相關的背景知識,假使不小心接錯線或焊接錯誤,可能會導致FON故障!電路問題解決後,還需相當熟悉Linux系統的操作,以應付例外狀況,操作不慎同樣會搞砸你的FON!

這次的方法和先前提到的三種方法,相較之下簡單許多。拜Hacking the La Fonera所賜,他們使用DNS Spoofing的方法,藉由更改預設的DNS Server,欺騙FON連線至自己架設的伺服器,此伺服器會傳送啟動dropbear(SSHd on La Fonera)和修改iptables的指令至FON,這部分和先前利用0.7.1 r1的漏洞開啟FON的指令是一樣的。待動作完成後就能取得Terminal,然後您再手動修改設定檔,讓FON能自動啟動dropbear和更改iptables的設定值,最後再把DNS Server換回來就可以了。藉由這個方法,即可免除了降版本、Reset或硬改的麻煩工程!當然如果架這個伺服器的人,在FON的啟動指令中,加上某些惡意指令,結果可能導致對方能掌握整台FON,並能做到其它的事。若您不相信該作者,除了依照網頁上的說明,自行架設伺服器,否則就請用別的方法吧。

註:由於PPPoEPPTP連線的網頁管理介面中,並沒有可以修改DNS Server的欄位,所以您的FON若是使用此兩種連線方式直接連線至Internet,不適用此方法。若您的FON裝在IP分享器下,或是使其它讓FON能透過Ethernet就可上網的方式,則可使用此方法。

接下來開始我們的修改程序

1. 請先啟動你的FON,並放置一段時間,直到MyPlaceFON_AP兩個無線網路信號都出現為止。至此可以確定開機程序已經完成。

2. 使用無線網路連線至MyPlace,確認連線成功並取得IP位址後,開啟網頁管理介面的網頁192.168.10.1

3. 開啟Advanced->Internet ConnectionMode請設定為Static IPIP Address, Subnet Mask, Gateway的設定值,請使用您原先的設定值。若您原先Mode使用DHCP,請回到剛進入網頁管理介面的Status頁面,先記錄您的IP Address, Gateway,再回到設定頁面設定您目前使用的值。一般而言,Subnet Mask填入255.255.255.0即能適用於多數的網路環境。DNS Server務必設定成88.198.165.155,這樣才能欺騙FON連線至指定的伺服器。設定完成後按下Submit,FON會自動重新啟動。

4. 重新啟動之後,等到MyPlace信號出現並連線後,就可以使用PieTTY或其它支援ssh連線的程式連線至FON,並進行接下來的設定。本例以PieTTY為範例。

5. 開啟PieTTY,IP Address為192.168.10.1,Port為22。按下連線後,稍等一下會出現login as:,請輸入root,再來會出現password,請輸入網頁管理介面的密碼。完成後會看到一個FON圖樣的畫面,表示您已成功登入FON的Terminal。

6. 貼上mv /etc/init.d/dropbear /etc/init.d/S50dropbear後按Enter。這個動作可以讓你的dropbear會自動隨系統啟動。到目前為止,操作正確的話會看到如下圖的畫面。建議直接複製整串綠色字,可避免不必要的錯誤。(註:在PieTTY貼上文字,只需先複製欲貼上的文字,接著在PieTTY的黑色區域上按一次滑鼠右鍵,即完成貼上動作)


Fig: FON Terminal through SSH connection (Click to enlarge)

7. 貼上rm /etc/firewall.user後按Enter,完成後再貼上wget -O /etc/firewall.user http://lookfree.info/blogger/2007/04/FON_firewall.user後按Enter。待下載完成後,原來的檔案會被取代,修改的程序到這裡為止。(這比教vi要省事多了 XD)

8. 請回到網頁管理介面中的Advanced->Internet Connection,還原成未調整前的設定值,再按下Submit。同樣FON會自動重新啟動,待下次再開機時,您就可以把FON玩到翻過來了 XD

七つの海を渡る風のように Wallpaper

官方網站的Download中,先玩個翻紙牌的遊戲
遊戲相當的簡單,60秒一定夠你玩
玩完之後就可以下載她們的桌布囉

喜歡她們的可以去試試看哦 ^^

名探偵コナン: File 605 意外な容疑者

先前的系列又結束了,依照慣例的留下一堆伏筆,照目前劇情看來,再拖個200集不是問題!
青山大還真會賺錢

小哀講"蘿莉控"還真搞笑 XDXDXD

Camel的出現又代表著什麼意思呢?!
還是在幫赤井暗中調查小哀? or ......

☆猪丽叶★速食翻译 @ 名侦探柯南事务所论坛
翻譯的品質不要太在意 XD 畢竟弄這個也是很辛苦的!

日文原圖
Knightus Detective Conan Linker

Thursday, April 19, 2007

0rz...

話說感覺好像才剛開學而已,其實已經是期中考週啦 = =
每次到期中考,都會有一些特別的事可以做
像這次是回鍋Diablo II,還有FON的WDS也在這段時間被我試出來了
換句話說,期中考就爆掉囉 XDXD


這幾天要來大量整理之前沒貼的文章了,希望能寫得完 XD

FON-Intro
FON-Pic
FON-Firmware Downgrade( Done Before )
FON DNS Spoofing ( 07.4.22 )
FON Heat
FON Maps
Inside La Fonera-FCC, Boot, HW, SW
FON Hide SSID
FON MAC Filter

FON WDS-Intro
FON WDS-Act P:Premilinary
FON WDS-Act I
FON WDS-Act II
FON WDS-Act III
FON WDS-Act IV
FON WDS-Final


FON with Kismet: The Flows of WEP Encryption
FON in AP Client Mode: Serve you and serve others

UPS

......
......
......


好多好多
時間有限,欲望無窮 0rz

Saturday, April 07, 2007

[轉錄][心得] 硬碟被限制到PIO MODE-解決辦法

作者: zhenyuan (洞房花燭新嫁娘) 站內: Storage_Zone
標題: Re: [心得] 硬碟被限制到PIO MODE-解決辦法
時間: Fri Apr 6 12:06:07 2007

※ 引述《kichigop (總算進入物理(霧裡)了)》之銘言:
: 有沒有高人知道原理的教導一下啊...感恩...^^
簡單的來講,就是置之死地而後生
通通砍掉重練讓系統自己產生正確的機碼
但是這只是治標的方法
要治本的話還是得從ResetErrorCountersOnSuccess這個機碼著手(詳見後文)

可以參考這邊的資料
http://tw.myblog.yahoo.com/tongkashan/article?mid=331&prev=-1&next=330
M$官方網站上也有..只是上面這篇比較容易懂XD


似乎是XP SP1比較會出現pio的問題
M$那邊的說法是已於SP2解決此問題


下面是我在M$網站找到的原文
在微軟十一月份的一篇技術文章中提到,Windows 2000/XP/2003在某些情況下有時會自行
關閉硬碟的DMA模式,而自動改用PIO模式運作。這會造成在使用時系統中硬碟性能下降,
使得在系統運作時進行硬碟操作會明顯感覺變慢。例如在運作一些較大型的軟體時會使
CPU使用率滿載而產生停頓,或是玩一些3D遊戲時畫面時會有停頓現象,若出現以上問題
時大家最好看看自己硬碟的DMA模式是不是被Windows自行關閉了。

http://support.microsoft.com/?kbid=817472

查看自己的系統是否打開DMA模式:
1. 打開"裝置管理員"
2. 打開"IDE ATA/ATAPI控制器"
3. 連續按兩下您的"主要IDE控制器"
4. 點選"進階設定" (我在WinXP SP2下看不到.......)
5. 看到"裝置0",下面的傳輸模式應設為"DMA(若可用)",若"目前傳輸模式"設為
"Ultra DMA Mode x" (x取決於硬碟速度),那麼系統正常,但若之前設定是"Ultra DMA
Mode 6"又沒有更動過,而現在是"Ultra DMA Mode 4"或"Ultra DMA Mode 2"更或是"PIO
模式"且無法更改!那可能就是系統自行關閉了DMA模式。

這是因為Windows 2000/XP/2003中預設為:若IDE/ATAPI驅動程式(Atapi.sys)累積收到總
共6個超時或CRC error後,驅動程式會把傳輸模式從最快的DMA模式漸次驟降為較慢的DMA
模式。如果atapi.sys持續收到超時或CRC error,則驅動程式最後會將把傳輸模式降為最
慢的PIO模式。

若要將傳輸模式重新啟用為DMA模式,可以執行以下步驟:
1. 打開"裝置管理員"
2. 打開"IDE ATA/ATAPI控制器"
3. 連續按兩下要恢復為DMA傳輸模式的控制器
4. 按一下"驅動程式"選項
5. 按一下"解除安裝"
6. 完成後重新啟動電腦。


這邊的步驟跟你直接砍掉MasterIdDataCheckSum是一樣的,移除IDE裝置後
會再重新建立一次

當 Windows 重新啟動後會重新安裝硬碟控制器,而與該控制器相連的每個設備的傳輸模
式會重設為預設值。但這樣只是把硬碟設備的傳輸模式重置為預設值,若系統進入休眠模
式而引起time-out或CRC error六次後系統又會自動關閉DMA模式。

微軟提供了利用更動registry的解決方法
1. 執行Regedit
2. 在registry找到下列值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002
3. 在"編輯"選單上,選擇"新建",選擇新增"DWORD值"。
4. 輸入ResetErrorCountersOnSuccess。
5. 將該新增之ResetErrorCountersOnSuccess值改為1(預設為0)。
6. 退出regedit

根據該技術文章,這個問題在winxp sp2已經修正。另外,如果你是用nForce的晶片組和
nVidia的驅動程式,那你就不用去檢查了,因為nVidia的driver已經預設用UDMA的模式了