2010/10/31

IEEE OUI and Company_id Assignments (有 MAC find)

ieee  管理網卡 mac 發放的組織
http://standards.ieee.org/regauth/oui/index.shtml

找尋你的網卡 mac 的前三碼是屬於哪各公司製造的
eth0 Link encap:Ethernet HWaddr 00:26:2D:29:36:F0
inet addr:192.168.3.193 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::226:2dff:fe29:36f0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5362381 errors:0 dropped:0 overruns:0 frame:0
TX packets:2854706 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7721273209 (7.1 GiB) TX bytes:207441338 (197.8 MiB)
Interrupt:177 Memory:febf0000-fec00000
搜尋方式:填入你的mac前六個字元 00262d 為範例
下列就會列出屬於誰的資訊
http://standards.ieee.org/cgi-bin/ouisearch?00262D

00-26-2D   (hex)  Wistron Corporation
00262D     (base 16)  Wistron Corporation
    21F, 88, Sec.1, Hsin Tai Wu Rd., Hsichih,
    Taipei Hsien Taiwan 221
    TAIWAN, REPUBLIC OF CHINA
看樣子很明顯是中國代工的 dell 電腦


列表:
http://www.iana.org/assignments/ethernet-numbers

2010/10/29

netstat 指令用法,及狀態說明

netstat 指令

netstat是一個可以查詢本機網路和外界網路連線的指令,可以透過這個指令的查詢得知有沒有奇怪的連線在你的機器中連線,也可透過此指令瞭解電腦連線的狀況
這個指令windows 上也有,Linux上也有,但在參數與用法有一些不同。
Windows 上得說明可以參考 m$ 的 netstat 說明
節錄及翻譯如下:
語法:
netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

參數:
-a : 顯示所有活動中的 TCP 連線,及 TCP and UDP ports 上聆聽中的資訊。

-e : 顯示網路的統計資訊,如 bytes 數和封包發送和接收的數量.這參數通常和 -s 並用。

-n : 顯示活動的TCP連線,但是 ip address和port編號沒有被解釋翻譯成為名稱說明。(通常可以加速顯示的速度因為反解通常需要查詢 dns 的時間)

-o : 顯示活動的 TCP 連線並且包含每個連線程序的 ID 編號(PID).你能夠找到應用程式的程序的PID資訊,在 windows 的工作管理員。這個參數通常和 -a, -n, and -p 混合使用.

-p 通訊協定 : 顯示指連線的通訊協定.預設的狀況這個通訊協定包含 tcp, udp, tcpv6, or udpv6. 如果配合 -s 參數則是可以顯示統計數量。

-s : 顯示統計資訊。預設顯示 TCP, UDP, ICMP, and IP 通訊協定. 如果 IPv6 protocol for Windows XP 被安裝的話, 統計資料顯示 TCP over IPv6, UDP over IPv6, ICMPv6, and IPv6 protocols.

-r : 顯示 IP 路由表的內容. 相當於 route print 命令.

Interval : 每隔幾秒重新顯示資訊. 按 CTRL+C 可以停止顯示. 如果省略則只顯示一次。

/? : 此說明

netstat -e



netstat -n

netstat -o

netstat -on 5

在這些資訊中,必須要先瞭解關於TCP 連線的的溝通方式。看起來才不會覺得怪怪的一直看不懂...

Protocol的執行過程描述:

下圖描述為一張簡化的TCP狀態圖,更詳細可以看這份文件(TCP EFSM diagram)



引用自 http://en.wikipedia.org/wiki/Transmission_Control_Protocol


TCP通訊過程可分為三個階段。且必須正確建立連接在一個很多步驟的交握處理(handshake process)然後才進入建立連接(connection establishment),再進入資料傳輸(data transfer) 階段。資料傳輸完成後,最後連接終止(connection termination)建立的虛擬通道關閉並釋放所有分配的資源。

一個TCP連接是由OS管理,TCP連線基本上經歷底下這些變化:

 1. LISTEN:如果是服務程式的話,指的是等待連接請求從任何遠端的客戶端。
 2. SYN-SENT:等待遠端點對點發回一個 TCP segment 並帶有 SYN 和 ACK flag。通常做這件事的為TCP客戶端。
 3. SYN-RECEIVED:等待遠端通道的另一端發回一個確認後發回確認連接到遠程節點。通常做這件事的為TCP服務端。
 4. ESTABLISHED: port 準備好接收/及發送數據從到遠端節點。
 5. FIN-WAIT-1
 6. FIN-WAIT-2
 7. CLOSE-WAIT
 8. CLOSING
 9. LAST-ACK
10. TIME-WAIT:指等待足夠的時間,以確保通過遠端對等機器收到確認其連接終止請求。根據 RFC 793中的連接可以等到最久為四分鐘。
11. CLOSED

詳細網路協定可以參考:市面上的TCP/IP 書籍

底下這是 Linux man netstat 對於狀態的解釋

netstat 的狀態

   State
       The  state  of  the socket. Since there are no states in raw mode and usually no states used in UDP, this column
       may be left blank. Normally this can be one of several values:

       ESTABLISHED
              The socket has an established connection.

       SYN_SENT
              The socket is actively attempting to establish a connection.

       SYN_RECV
              A connection request has been received from the network.

       FIN_WAIT1
              The socket is closed, and the connection is shutting down.

       FIN_WAIT2
              Connection is closed, and the socket is waiting for a shutdown from the remote end.

       TIME_WAIT
              The socket is waiting after close to handle packets still in the network.

       CLOSE  The socket is not being used.

       CLOSE_WAIT
              The remote end has shut down, waiting for the socket to close.

       LAST_ACK
              The remote end has shut down, and the socket is closed. Waiting for acknowledgement.

       LISTEN The socket is listening for incoming connections.  Such sockets are not included in the output unless you
              specify the --listening (-l) or --all (-a) option.

       CLOSING
              Both sockets are shut down but we still don't have all our data sent.

       UNKNOWN
              The state of the socket is unknown.
             
          
Linux 上的 netstat 套件在 net-tools 上面,如果缺少可以使用 yum install net-tools -y 安裝
$ rpm -qf /usr/bin/netstat   (查詢 netstat 指令套件名稱)
net-tools-2.0-0.17.20131004git.el7.x86_64

在 Linux 上有幾種特殊的用法
引用自 http://www.hkcode.com/linux-bsd-notes/559


以下是一些實用的 netstat 語法,可以檢查主機的連線數量:

netstat -na
顯示主機上所有已建立的連線。

netstat -an | grep :80 | sort
顯示所有 port 80 的連線,並把結果排序。

netstat -n -p|grep SYN_REC | wc -l
列出主機上有多少個 SYNC_REC,一般上這個數字應該相當低。

netstat -n -p | grep SYN_REC | sort -u
同樣是列出 SYNC_REC,但不只列出數字,而是將每個 SYNC_REC 的連線列出。

netstat -n -p | grep SYN_REC | awk ‘{print $5}’ | awk -F: ‘{print $1}’
列出發送 SYNC_REC 的所有 ip 地址。

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
計算每一個 ip 在主機上建立的連線數量。

netstat -anp |grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
列出從 TCP 或 UDP 連線到主機的 ip 的數量。

netstat -ntu | grep ESTAB | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr
列出每個 ip 建立的 ESTABLISHED 連線數量。

netstat -plan|grep :80|awk {’print $5′}|cut -d: -f 1|sort|uniq -c|sort -nk 1
列出每個 ip 建立的 port 80 連線數量。

Linux netstat 使用範例:
netstat -alp 列出連線的協定及使用的應用程式

2010/10/26

windows XP 使用 iscsi 遠端無碟啟動 remote boot

維基上的介紹:

iSCSI又稱為IP-SAN,是一種基於網際網路SCSI-3協議下的存儲技術,由IETF提出,並於2003年2月11日成為正式的標準。與傳統的SCSI技術比較起來,iSCSI技術有以下三個革命性的變化:
  1. 把原來只用於本機的SCSI協同透過TCP/IP網路傳送,使連接距離可作無限的地域延伸;
  2. 連接的伺服器數量無限(原來的SCSI-3的上限是15);
  3. 由於是伺服器架構,因此也可以實現在線擴容以至動態部署。


iscsi使用前要先認識兩個名詞:

* iscsi target (儲存裝置目的端,用來當遠端網路硬碟使用)

你可以透過 ubuntu 安裝 iscsi 的 target 來提供 iscsi 網路硬碟的服務。

* 安裝過程
# ubuntu 軟體安裝
apt-get install iscsitarget

# use dd 指令建立1個 20G 的檔案,用這個 20 G檔案當成網路硬碟。
 dd if=/dev/zero of=/backup/iscsi/LUN0 bs=1024 count=20480000

# 修改設定檔, /etc/ietd.conf 加入
vim /etc/ietd.conf
# 設定檔的最底下加入
Target iqn.2010-10.com.ec:storage.data1t.iscsi.data01
        #IncomingUser trysoft trysoft
        #OutgoingUser trysoft trysoft
        Lun 0 Path=/backup/iscsi/LUN0,Type=fileio
        Alias iSCSI for ec
        MaxConnections          2
        InitialR2T              Yes
        ImmediateData           Yes

# 加入允許連線的範圍
# vim /etc/initiators.allow
ALL 140.117.69.0/24

# 設定啟動
vim /etc/default/iscsitarget
ISCSITARGET_ENABLE=true

# 重新啟動所有的 iscsi target 設定
/etc/init.d/iscsitarget restart

# 驗證是否該 port 有被開啟
root@ec:~# netstat -an | grep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN  
tcp6       0      0 :::3260                 :::*                    LISTEN  

* 對於 iscsi target 服務設定不清楚可以參考
# http://www.ichiayi.com/wiki/tech/centos_iscsi
# http://ubuntuforums.org/showthread.php?t=1210576

--------------------------------
接就是要驗證 iscsi initiator 的部分,這個是用來連接 iscsi target 的工具程式

* iscsi initiator 微軟出的
http://www.microsoft.com/downloads/en/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en

你可以安裝完這套軟體後,先用圖形界面設定驗證看看,看看是否可以正常工作,可以工作後再繼續下一步。







 設定完成,請選 LogON 啟用,皆下來到管理電腦,磁碟管理應該就會看到一個新的硬碟了。


以上為 iscsi  initiator 的部分
不清楚的話請看微軟 msdn 說明

---------------------

接下來就是把這個 iscsi 裝置裝上 windows XP ,很可惜XP 先天沒有支援iscsi 所以必須要改很多才可以達到目的。

先找一台電腦安裝好 windows xp 並且更新到最新的 update ,但是為了快速起見,建議把分割區切 8G 就好,這樣再把硬碟做成影像檔的時候,速度會比較快。


裝好後請加裝  iscsi 在 windows上得支援套件
請參考:http://www.etherboot.org/wiki/sanboot/winnt_iscsi
也就是下載這兩個檔案安裝:

然後你如果是要用 iscsi 開機請再加裝 sanboot driver
http://www.etherboot.org/wiki/sanboot/winnt_sanbootconf
這是 etherboot 這個專案為了這個開發的設定工具。

 不過既然都裝到這裡了,一併連 AOE support 也裝上去好了
http://www.etherboot.org/wiki/sanboot/winnt_aoe

皆下來就是把這個 XP的影像檔,做到 iscsi 當成 image 檔案
方法請參照:http://www.etherboot.org/wiki/sanboot/transfer

然後最後如果你的網卡不是 iscsi 可以開機的網卡,必須要使用 gpxe 光碟片開機,
gpxe 光碟片支援很多種的開機型態,但是要搭配 dhcp server 來指定參數。
詳細請看這篇 http://www.etherboot.org/wiki/sanboot/iscsi_boot

最後記得拔除原本的 HD 然後重新開機,就可以遠端網路iscsi 開機了。

過程真的很瑣碎,以後再把圖補上。

參考:
http://www.ichiayi.com/wiki/tech/centos_iscsi
http://etherboot.org/wiki/index.php
http://www.libthomas.org/~thomas/wp/?p=158
http://blog.hfu.edu.tw/blog/FOOL/archives/1421
http://afterainblog.spaces.live.com/blog/cns!BC6BD653C5FCF7A6!325.entry
http://jackden-diary.blogspot.com/2010/03/freenas-iscsi-in-ubuntu-904-mount-log.html
http://www.cyberciti.biz/faq/howto-setup-debian-ubuntu-linux-iscsi-initiator/
http://wiki.debian.org/iSCSI/iscsitarget

2010/10/25

php list 的 url cache 及 footer 問題

php list 中可以插入遠端的 URL 當作郵件內容,但是內容只要輸入後會被 cache 在 mysql 資料庫中
資料表示 url_cache 如果想立即生效可以從 sql 中刪除被 cache 的 web url 文件
,但是 url cache refetch time 是可以設定的,預設是 3600 秒,只要修改
phplist 目錄中 config/config.php 檔案中的這一段就可以達成
# send a webpage. You can send the contents of a webpage, by adding
# [URL:http://website/file.html] as the content of a message. This can also be personalised
# for users by using eg
# [URL:http://website/file.html?email=[email]]
# the timeout for refetching a URL can be defined here. When the last time a URL has been
# fetched exceeds this time, the URL will be refetched. This is in seconds, 3600 is an hour
# this only affects sending within the same "process queue". If a new process queue is started
# the URL will be fetched the first time anyway. Therefore this is only useful is processing
# your queue takes longer than the time identified here.
define('REMOTE_URL_REFETCH_TIMEOUT',300);

另外在系統中,會自動增加 phplist 的廣告及 footer 訂閱的連結,如果想拿掉可以
修改 admin/sendemaillis.php 其中程式碼為

$url = getConfig("subscribeurl");$sep = ereg('\?',$url)?'&':'?';
$html["subscribe"] = sprintf('<a href="%s">%s</a>',$url,$strThisLink);
$text["subscribe"] = sprintf('%s',$url);
$html["subscribeurl"] = sprintf('%s',$url);
$text["subscribeurl"] = sprintf('%s',$url);
#?mid=1&id=1&uid=a9f35f130593a3d6b89cfe5cfb32a0d8&p=forward&email=michiel%40tincan.co.uk&
$url = getConfig("forwardurl");$sep = ereg('\?',$url)?'&':'?';
$html["forward"] = sprintf('<a href="%s%suid=%s&mid=%d">%s</a>',$url,$sep,$hash,$messageid,$strThisLink);
$text["forward"] = sprintf('%s%suid=%s&mid=%d',$url,$sep,$hash,$messageid);
$html["forwardurl"] = sprintf('%s%suid=%s&mid=%d',$url,$sep,$hash,$messageid);
$text["forwardurl"] = $text["forward"];
$url = getConfig("forwardurl");
# make sure there are no newlines, otherwise they get turned into <br/>s
$html["forwardform"] = sprintf('<form method="get" action="%s" name="forwardform" class="forwardform"><input type=hidden name="uid" value="%s" /><input type=hidden name="mid" value="%d" /><input type=hidden name="p" value="forward" /><input type=text name="email" value="" class="forwardinput" /><input name="Send" type="submit" value="%s" class="forwardsubmit"/></form>',$url,$hash,$messageid,$GLOBALS['strForward']);
// $text["signature"] = "\n\n--\nPowered by PHPlist, www.phplist.com --\n\n";
// skip by mtchang 2010.7.14
$text["signature"] = 'mtchang';



/* skip by mtchang 2010.7.14
if (!EMAILTEXTCREDITS) {
$html["signature"] = $PoweredByImage;#'
<div align="center" id="signature">
<a href="http://www.phplist.com/"><img alt="Powered by PHPlist" border="0" height="31" src="powerphplist.png" title="Powered by PHPlist" width="88" /></a></div>
';
# oops, accidentally became spyware, never intended that, so take it out again :-)
$html["signature"] = preg_replace('/src=".*power-phplist.png"/','src="powerphplist.png"',$html["signature"]);
} else {
$html["signature"] = $PoweredByText;
}
*/
$html["signature"] = '';



在 footer 產生訂閱連結的部分,可以修改

$text["footer"] = eregi_replace("\[SUBSCRIBE\]",$text["subscribe"],$text['footer']);
$html["footer"] = eregi_replace("\[SUBSCRIBE\]",$html["subscribe"],$html['footer']);
$text["footer"] = eregi_replace("\[PREFERENCES\]",$text["preferences"],$text["footer"]);
$html["footer"] = eregi_replace("\[PREFERENCES\]",$html["preferences"],$html["footer"]);
$text["footer"] = eregi_replace("\[FORWARD\]",$text["forward"],$text["footer"]);
$html["footer"] = eregi_replace("\[FORWARD\]",$html["forward"],$html["footer"]);
$html["footer"] = eregi_replace("\[FORWARDFORM\]",$html["forwardform"],$html["footer"]);
$text["footer"] = eregi_replace("\[BLACKLIST\]",$text["blacklist"],$text['footer']);
$html["footer"] = eregi_replace("\[BLACKLIST\]",$html["blacklist"],$html['footer']);
if (sizeof($forwardedby) && isset($forwardedby['email'])) {
$htmlmessage = eregi_replace("\[FORWARDEDBY]",$forwardedby["email"],$htmlmessage);
$textmessage = eregi_replace("\[FORWARDEDBY]",$forwardedby["email"],$textmessage);
$html["footer"] = eregi_replace("\[FORWARDEDBY]",$forwardedby["email"],$html["footer"]);
$text["footer"] = eregi_replace("\[FORWARDEDBY]",$forwardedby["email"],$text["footer"]);
$text["footer"] = eregi_replace("\[UNSUBSCRIBE\]",$text["blacklist"],$text['footer']);
$html["footer"] = eregi_replace("\[UNSUBSCRIBE\]",$html["blacklist"],$html['footer']);
} else {
$text["footer"] = eregi_replace("\[UNSUBSCRIBE\]",$text["unsubscribe"],$text['footer']);
$html["footer"] = eregi_replace("\[UNSUBSCRIBE\]",$html["unsubscribe"],$html['footer']);
}

$html["footer"] = '<div class="emailfooter">'.nl2br($html["footer"]).'</div>';
// skip footer by mtchang 2010.10.25
$html["footer"] = '';

雲端運算 Cloud Computing 相關資料

聽六先生說雲端...
http://mr6.cc/?p=2281 

國際研究暨顧問機構Gartner 說明雲端
http://www.computerworld.com/s/article/9115904/Cloud_computing_hype_spurs_confusion_Gartner_says

我所認識的雲端運算:
主要分成兩種,一種為雲端服務,類似 SaaS (Software as a Service) ,透過網路使用網路服務公司提供的網路服務,例如:Google APP , Amanzon EC2 and S3 ,  虛擬主機商提供的虛擬空間或是DNS代管等.....透過這些服務,改變簡化工作流程並節省企業的成本。
另外一種為雲端技術,透過一群電腦協同合作達成高速的運算。例如:MIT的尋找外星人,基因定序等需要很多運算時脈的。

http://zh.wikipedia.org/zh-tw/%E9%9B%B2%E7%AB%AF%E9%81%8B%E7%AE%97

CIO 及 CFO 該如何評估雲端運算導入的考量?
CIO:
1.現有公司服務須分成可導入的部份,及公司核心價值或有機密性不可導入的部份。
2.導入後是否可改善簡化工作流程,對企業有正面效益?
3.導入期間所需花費時間,服務周邊相關人員對於導入的接受度?
 CFO:
1.導入後可以節省多少直接或間接成本?
2.對於公司財務負擔一次性支出,及經常性支出的風險評估?

企業如果採用雲端運算可能造成營運危機有哪些?
假設是一間小型購物網站,將其網站及資料全部導入 Amanzon S3的儲存服務 and EC2 所提供的虛擬主機服務。
營運危機的可能有:
1.Amanzon S3 or EC2暫停服務所造成的營運損失
2.資料被竊取或無故消失,並且找不到可能消失的原因。
3.系統管理者如惡意離職,沒有交接或沒有備份突然失去管理權的損失。

2010/10/17

「推薦」注音符號教學網

首推注音符號筆順教學

http://163.24.106.140/resorceclass/online/work/wri--all.html

用上衣  中間  褲子 表達的注音符號,並付念法
http://163.24.106.140/resorceclass/online/work2/fullscreen1.htm

這是用來教小孩的拉,因為我門「之吃私」發音都不是很正確

有著濃濃的高雄台語腔,這甲是愛呆丸拉!!!!


推薦 我們都是高雄人!!!!! http://www.youtube.com/watch?v=Nj6VLRxFG3c

Unix Like 系統上面 2038年問題

因為UNIX的日期當初在定義的時候以 1970.1.1起的時間秒來算
但是當初設計的時候,因為變數表達長度的關係,如果是32bit只能表達到
在2038年1月19日3時14分07秒 ,所以就會出現類似百年序或是千年蟲的問題

wiki上面的圖片可以很清楚的表達這件事
 http://zh.wikipedia.org/zh-tw/2038%E5%B9%B4%E9%97%AE%E9%A2%98

2010/10/09

EzGo 8 下載分流

EzGo 8 下載分流,因為原始連結還滿不穩定的,且速度真的不快。

關於下一個版本 EzGo8 我有意見
http://wekey.westart.tw/Ezgo8_suggestion

分流
http://jangmt.com/ezgo/

英文版 http://jangmt.com/ezgo/ezgo8_en.iso

RC中文版 http://jangmt.com/ezgo/ezgo8_rc.iso

這看起來是官方網站 http://ezgo.westart.tw/

引用自 http://news.ossacc.org/ezgo6_readme_linux/ezgo.html
什麼是EzGo:
◎EzGo的設計理念
EzGo並不是Linux,相信Linux已經夠多了,不需要再多一套EzGo Linux來湊熱鬧,EzGo只是一張想要把超讚的自由軟體用最感動的方式跟您分享的光碟片!!

EzGo的設計理念聚焦在視窗環境下的自由軟體應用,相信不管是哪一套Linux,都會有視窗環境X Window系統,而現在比較常見的桌面環境GNOME和KDE等也都是以X Window系統為基礎建構而成的,然而不管是GNOME、KDE或其它桌面環境,相信一般的使用習慣,一定還是以系統下的應用軟體為主,在微軟Windows下,您可能會透過「開始功能表」的選單按鈕來啟動應用軟體,而在Linux下也有類似「開始功能表」的選單按鈕,它的名稱叫作「應用程式」,您可以透過「應用程式」選單按鈕,開始體驗自由軟體中豐富多元的應用軟體!!

EZGO資源


資訊論理


電子賀卡製作

  • 範例觀賞:


其實我是拿來教自己的小孩啦!!真的很好用...

2010/10/03

Apache 限制下載流量與連線數 in debian

這個模組不是官方釋出的模組,所以如果要用的話請自行衡量
開發者的網站:http://dominia.org/djao/limitipconn2.html

debian 的安裝擋下載
http://elonen.iki.fi/code/unofficial-debs/mod-limitipconn/

安裝:
# 抓檔案
$ wget http://elonen.iki.fi/code/unofficial-debs/mod-limitipconn/apache2-mod-
limitipconn_0.22-2_amd64.deb

# 安裝
$ sudo dpkg -i apache2-mod-limitipconn_0.22-2_amd64.deb

# 進入模組目錄
$ cd /etc/apache2/mods-available/

# 啓動模組
$ sudo a2enmod limitipconn

# 重新載入模組
$ sudo /etc/init.d/apache2 restart

# 修改設定檔
$ sudo vim /etc/apache2/sites-enabled/jangmt
# jangmt是我的virtualhost設定檔請在設定檔內加入類似下面的限制


MaxConnPerIP 3




# 底下是模組的預設值,無須更動可以參考修改
$ cat /etc/apache2/mods-available/limitipconn.load
ExtendedStatus On
LoadModule limitipconn_module /usr/lib/apache2/modules/mod_limitipconn.so

$ cat /etc/apache2/mods-available/limitipconn.conf
# Example config for limitipconn


MaxConnPerIP 5
# exempting images from the connection limit is often a good
# idea if your web page has lots of inline images, since these
# pages often generate a flurry of concurrent image requests
NoIPLimit image/*




* 置於有沒有有用可以看紀錄檔的變化
$ netstat -an | grep EST
tcp 0 0 140.117.69.15:22 140.117.69.182:3349 ESTABLISHED
tcp 0 0 140.117.69.15:22 115.165.192.55:61735 ESTABLISHED
tcp6 0 36400 140.117.69.15:80 123.4.205.188:50018 ESTABLISHED
tcp6 0 0 140.117.69.15:445 140.117.69.183:1047 ESTABLISHED
tcp6 0 12726 140.117.69.15:80 114.243.88.195:65100 ESTABLISHED
tcp6 0 0 140.117.69.15:445 140.117.69.182:3311 ESTABLISHED
tcp6 0 51800 140.117.69.15:80 123.4.205.188:50120 ESTABLISHED
tcp6 0 12960 140.117.69.15:80 175.17.194.177:36633 ESTABLISHED

$ sudo tail /var/log/apache2/access.log
.... skip

$ sudo tail /var/log/apache2/error.log
[Sun Oct 03 16:35:54 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:35:55 2010] [error] [client 114.243.88.195] Rejecting client at 114.243.88.195
[Sun Oct 03 16:36:04 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:36:05 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:36:10 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:36:27 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:36:29 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177
[Sun Oct 03 16:36:29 2010] [error] [client 175.17.194.177] Rejecting client at 175.17.194.177



* 更多請參考官方的說明
http://dominia.org/djao/limitipconn-README
mod_limitipconn.c
David Jao
Proxy tracking by Jonathan J. Miner

Apache C module to limit the maximum number of simultaneous connections
per IP address. Allows inclusion and exclusion of files based on MIME
type.

Example configuration:

---------------------------------------------------------------------------

ExtendedStatus On

# Only needed if the module is compiled as a DSO
LoadModule limitipconn_module lib/apache/mod_limitipconn.so
AddModule mod_limitipconn.c



MaxConnPerIP 3
# exempting images from the connection limit is often a good
# idea if your web page has lots of inline images, since these
# pages often generate a flurry of concurrent image requests
NoIPLimit image/*



MaxConnPerIP 1
# In this case, all MIME types other than audio/mpeg and video*
# are exempt from the limit check
OnlyIPLimit audio/mpeg video



---------------------------------------------------------------------------

Notes:

This module will not function unless mod_status is loaded and the
"ExtendedStatus On" directive is set.

The limits defined by mod_limitipconn.c apply to all IP addresses
connecting to your Apache server. Currently there is no way to set
different limits for different IP addresses.

Connections in excess of the limit result in a stock 503 Service
Temporarily Unavailable response. The job of returning a more useful
error message to the client is left as an exercise for the reader.

mod_limitipconn sets the LIMITIP environment variable to 1 whenever a
download is denied on the basis of too high an IP count. You can use
this variable to distinguish accesses that have been denied by this
module. For example, a line like

CustomLog /var/log/httpd/access_log common env=!LIMITIP

in httpd.conf can be used to suppress logging of denied connections
from /var/log/httpd/access_log. (Note that, if you want to do this,
you'll probably also want to comment out the ap_log lines from
mod_limitipconn.c to suppress error_log lines as well.)

Proxy client tracking

By default, all clients behind a proxy are treated as coming from the
proxy server's IP address. If you patch Apache with the included patch
and configure with --with-forward and rebuild, the real IP addresses
of clients behind proxies are correctly detected. You will need to
either compile statically or compile with -DRECORD_FORWARD.

If you don't patch the server, DO NOT compile with RECORD_FORWARD
defined. The module will still function, but it will not recognize
clients behind proxies.


picasa movie maker 將照片轉換成為視訊檔案,免費的且很簡單作

office 2010 ppt 增加了好用的功能就是可以方便的把 ppt 播放檔轉換成為視訊檔案

但是 office 2010 要錢,否則就是要另外買 PowerVideoMaker 把 ppt 轉成影像檔

但那些全部都是要錢的...

現在 picasa 提供了一個 movie maker 的功能,可以直接讓你把照片加上文字加上背景音樂

加上轉場特效,再來把他轉換成為 視訊檔案 .wmv or .mov 這些....全都不用錢啦!!

http://picasa.google.com/support/bin/answer.py?hl=b5&answer=19533

這功能實在太方便了,對於要製作宣傳影片的使用者真是一大幅音,不用在影像軟體中編個老半天,

然後只是為了個簡單的功能。

介紹影片:




More DIY videos at 5min.com