2009年2月26日

[Linux] 沒有固定IP的人,如何利用動態域名架站

本文適用於有浮動IP的使用者,例如一般的ADSL用戶應該都有很多組的浮動IP,利用動態 DNS 的對應,讓你可以像具有固定IP一樣的效果,卻不用花半毛錢~

作業系統:Linux 或 FreeBSD均適用
DDNS提供者:

首先請先上 dyndns 網站去申請一組免費的 Domain name

然後安裝 dyndns 的dns client在網頁伺服器上
yum -y install ddclient

安裝完畢後,編輯設定檔如下 vim /etc/ddclient/ddclient.conf
(假設申請的 domain name是 taiwanwolf.dyndns.com)


daemon=600
cache=/tmp/ddclient.cache
pid=/var/run/ddclient.pid
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
login=您申請 dyndns 的登入帳號
password=您申請 dyndns 的登入密碼
protocol=dyndns2
server=members.dyndns.org
mx=taiwanwolf.dyndns.com
wildcard=YES
taiwanwolf.dyndns.com

之後再去 vim /etc/rc.local,加上下面這行把它設成開機啟動
/usr/sbin/ddclient

這樣就每隔600秒就會把你伺服器的IP,跟你的Domain name作同步,之後使用者只要在瀏覽器上打 http://taiwanwolf.dyndns.com 就可以連到你的網站了!

2009年2月18日

[艋舺] 2009 龍山寺元宵節花燈 & 鑽燈腳

星期六陪爸媽去龍山寺拜拜祈求身體健康,剛好碰到新曆2/14 西洋情人節,所以龍山寺的前方是傳統的信眾在排隊在觀世音菩薩的燈籠下拜拜祈福,後殿是許多年輕的男女在月下老人前面祈求好姻緣~

龍山寺正門

觀世音菩薩的平安總燈,大家在這邊排隊,要站在燈下祈福

鑽燈腳由來,有提到LP等 XD

牛神正面

牛神背面

池塘旁的魚跟仙女

後殿也是人潮洶湧

後殿真的有擺放月下老人在外面


希望藉由部落格上的照片,祝大家2009年都能身體健康,事事如意!

Linux 環境下,利用Wireshark或Tcpdump擷取封包

在這邊我們利用 Wireshark 跟 Tcpdump 兩種方式來抓封包,觀看問題

法1: 使用 Wireshark的文字版 tshark

語法 tshark -i -f
Ex. 抓預設 eth0 的 80 Port 的封包
# tshark -i eth0 -f "tcp port 80"

Ex. 看 eth1 並標準化時間,然後只抓有關於 203.67.21.33 並儲存在 /tmp/test.pcap ,同時也即時show在螢幕上
# tshark -i eth1 -t ad host 203.67.21.33 -w /tmp/test.cap -S

Ex. 讀取封包
#tshark -r /tmp/test.cap

Ex. 讀取並過濾封包,只要看 sip 號碼是 070123456 的並存檔為 070123456.cap
tshark -r dhcp_0120_1737_1807.cap.gz -R "sip contains 070123456" -w 070123456.cap


此外wireshark有內建許多統計功能,只要使用 -z 選項配合相關的參數使用,例如要看packet summary,只要使用 tshark -z io,stat,1 -q -n -i eth0,然後再搭配shell與RRD等,就可以畫出統計圖表。

法2: 使用 Tcpdump

Ex.抓封包
# tcpdump -i eth0 -w abc.cap

Ex. 抓封包,分割每個儲存的封包(size 1500bytes)
# tcpdump -i eth0 -s 1500 -w a.cap

Ex. 讀封包
# tcpdump -r abc.cap

P.S 大部分抓封包都需切換成 Root 權限才能使用

2009年2月13日

找出缺少的檔案,在什麼套件中

日前要安裝 C 的Header檔案 stdio.h,可是不知道在什麼套件裡面,於是
就用 yum provides '*/stdio.h',結果發現是在 glibc-headers
再用 yum install glibc-headers,就搞定了~

P.S 以上是 Fedora / CentOS等的用法,Debian跟Ubuntu是 sudo apt-get install libc6-dev

2009年2月11日

yum 發生錯誤訊息

今天使用 yum 安裝軟體,發生一個錯誤
Existing lock /var/run/yum.pid: another copy is running. Aborting.
此時不用擔心,只要
rm -rf /var/run/yum.pid
再試試看應該就可以了~

2009年2月3日

一行刪除程式所有的 Process

前幾天裝了 X windows, 所以要遠端用 VNC 連進來用 X11,由於設定的一些問題,所以建了一個設定檔,要自動開啟VNC,並把舊的VNC Session刪除,由於刪除需要用到找出VNC的PID,語法如下

ps aux | grep vnc | grep -v grep | awk '{print $2}'

但是這樣只會列出PID數字,還無法達成一行刪除,問了同事發現有個 xargs的好東西,所以要刪掉某個程式的所有 Process (這裡以VNC為例) 的語法如下

ps aux | grep vnc | grep -v grep | awk '{print $2}' | xargs -L1 kill

這樣就會把前面 stdout 出來的 PID 數字,再倒給 kill 去砍囉~

2009年2月2日

CentOS 安裝完的中文顯示亂碼

由於資料庫的關係,所以必須安裝較舊版本的Centos v4.7,安裝完後用 vim 編輯檔案卻出現提示的說明都亂碼,查了一下發現只要改設定就好了

step1: vi /etc/sysconfig/i18n (修改i18n檔案)
step2: 將原本內容去除,改為改為如下
LANG="zh_TW.Big5"
SUPPORTED="zh_TW.Big5:zh_TW:zh"

存檔之後,重新連線一次,應該就搞定!

查看 Linux 系統資訊常用指令

lspci -v => 檢查系統 PCI 介面的各項裝置
lsusb => 檢查系統USB介面的裝置
lsscsi => 檢查系統SCSI介面的裝置
cat /proc/cpuinfo => 顯示CPU的資訊
cat /proc/meminfo => 顯示記憶體的資訊
free => 顯示記憶體的相關資訊
dmidecode => 查看硬體的相關資訊
hdparm -i /dev/hda => 硬碟的各項資訊
dmesg => Linux Kernel 運作過程當中所顯示的各項訊息記錄
uname -a => 顯示Linux系統資訊
cat /proc/version => 查看 Linux 核心
cat /etc/issue => 查看 Linux 系統版本
smartctl -a /dev/sda => 查看硬碟詳細資訊及型號
這個小工具發生錯誤