2011年11月24日 星期四

nepenthes的設定、安裝與cwsandbox分析結果

這個是2009年做的簡報檔,整理了一下放上來。(圖太小的話就點一下,會變大圖)
由於是從簡報轉檔的,因此會比較不美觀,請多加見諒。

不過這一篇不講架構,單純只是作一個記錄而已。

先做一個簡單的 honeyd和nepenthes的比較。
















2011年11月22日 星期二

讓網路卡(Intel 85266) 支援VLAN tag的方法 (含802.1q及qinq中vlan tag是否被drop驗證)

最近由於要驗證在 802.1q (dot1q)的封包中,native vlan的tag是否會被拿掉,著實費了一番心力。因此做一些記錄,以便將來備查:


我的網路卡是Intel 82566 ,在Windows XP的狀況下,必需要安裝Intel官方的程式才能支援VLAN tag。因此要從這個網址下載程式並安裝:Network Adapter Drivers for Windows XP
我使用的是Windows XP,如果您的環境是Windows 7,在該網站也有對應的程式。
在安裝完成後, 在裝置管理員的部份就可以看到這一個選項了:
 

2011年11月18日 星期五

HTC Incredible S 簡訊延遲問題(SMS delay)


我在官方升版之前似乎是正常的。但官方升版(2.3.3)後就有這個問題了。


但是說也奇怪,只有某些特定門號發過來的會有延遲的情形 (一般是延遲15~20分鐘),小弟擔任的是on call的工作,在on call日簡訊延遲收到十幾分鐘,是很嚴重的事。另外我一天固定至少收到來自三個不同來源的簡訊,偏偏最重要的那一個每次都延遲....


和所屬的電信業者報修過,他們表示他們查是正常的,要我跟HTC詢問。
HTC當然是說自己沒有問題,要我去問我的電信業者。

2011年10月18日 星期二

P-870H-51 軟撥及硬撥同時支援的設定方法

前言:這一篇文章雖然是教P-870H-51軟撥和硬撥同時支援的設定方法,不過我相信應該也適用於P-874之類的設備。由於常常有人問軟撥和硬撥怎麼設,我就花了一點時間整理一下。希望能幫上有需要的人。

1、先登入設備,記得將電腦和VTUR設定為同網段但不同的IP (舉例而言:VTUR預設管理IP為192.168.1.1, 電腦可以設定成192.168.1.2)

2、開啟VTUR的web介面,一般是http://192.168.1.1

3、用帳戶cht,密碼chtsvdsl (這是南區,如果是北區就是:chtnvdsl,中區就是:chtcvdsl)

4、登入之後選擇Advanced Setup,再選擇WAN,再選擇右邊視窗的:新增。如下圖所示:


2011年9月1日 星期四

VDSL的傳輸能力


Vdsl2 傳輸模板(profile) (要用的時候常找不到,因此先存一份在這裡)




















2011年7月25日 星期一

難搞的grep

原來grep的$ (regular expression)只能match 0D(Unix換行符號),而無法match 0D 0A(DOS換行符號)。
解決的方法是,grep 最後面用ctrl+v+enter,就會打出^M的符號。

會發生這個原因也很衰,從BRAS upload config到我的server,用的是OD的換行符號。但從NI網頁抓下來卻變成OD OA的換行符號 (正常人誰會去看hex code長怎樣啊?)

抓這個問題花了我三十分鐘的時間,當然是要記下來。

2011/07/30:
這件事還有後續。後來發現NI網頁開啟後另存新檔的檔案有一些檔案的換行符號是0D 0A,有一些卻是OD。所以就一勞永逸的處理掉:exec("unix2dos file");
直接把所有的換行符號都換成0D 0A (如果本來就是OD OA的多換一次也不會造成影響)。
於是這個問題就輕鬆的解決了。

2011年6月5日 星期日

Honeyd 安裝與設定檔調校

這個是2007年的期末報告,整理了一下就放上來,希望讓需要的人可以參考。

簡單說明Honeyd如下:
Honeyd 可以在網路上產生虛擬的機器(甚至是產生一個虛擬的網路),不限定為PC或Server,也可以是路由器、交換器等。
這些機器可以用來執行各項服務,並且可以做調整,讓他們看起來像是運行在某些作業系統上。
在同一部機器上,可以同時模擬65535個IP的運作。


How to insall:我那個時候似乎在試各種軟體上安裝機便利性,因此在各種常見平台上都安裝過。要特別小心的是arpd。我當時遇到了一點小麻煩,原因是Fedora平台提供的不是arpd,而是另一種arpd(名字很接近,但是不一樣),因此使用時要小心,要記得自己裝arpd。
在安裝時最便利的還是Ubuntu,我使用的版本是8.04,幾乎是一鍵安裝了。

In FreeBSD(with ports install):
cd /usr/ports/net/arpd ; make intall
cd /usr/ports/net/honeyd ; make install

In Ubuntu、Debian:
apt-get install honeyd

In Fedora:
yum install libpcap
yum install libpcap-devel
yum install libdnet
yum install libdnet-devel
yum install libevent
yum install libevent-deve
yum install honeyd

Install use tar ball:
1、download libpcap、libdnet、libevent、honeyd
2、uncompress and install
eg: tar xvzf libpcacp* ; cd ibpcap ; ./configure ; make ; make install

Install in MS Windows:

1、download from: http://www.citi.umich.edu/u/provos/honeyd/honeyd-0.5a-win32.zip
2、安裝winpcap

LAB架構圖:















所模擬的IP及服務平台對應表















Setup Tips 這邊是講設定時需注意的部份。由於年代有點久遠,我憑記憶大概寫一下。

How to get personality
grep "^Fingerprint" /usr/local/share/honeyd/nmap.prints
這邊應該是要找出攻擊的特徵,之後可以用來比對。例如說,我們要設定honeyd的設定檔時,如果要設定Cisco Router的話,可以找到Cisco 之類的關鍵字,然後套用在設定檔中,例如:
set router2 personality "Cisco 801/1720 router running IOS 12.2.8"

測試時可在同一個lan測試(使用同ip網段),或從Internet測試
首先一定要執行arpd,arpd的用意是讓honeyd可藉由arpd這個程式提供proxy arp的功能,來收集這些virtual honeypots的封包。這個部份是初學者常常忽略的。(我一開始吃了不少苦頭)

log file:要產生對應的檔案,讓honeyd可以將log寫進去。
touch server.log、packet.log

How to start it
簡單說明一下程式的相關參數:
arpd 192.168.1.0/24 192.168.2.0/24 172.16.1.0/30
這面要是指定arpd 去模擬(listen)的網段,這邊包含了三個網段(包含了WAN IP,資料及架構請參考架構圖及規劃表)

honeyd –d –f honeyd.conf –l packet.log –s server.log 192.168.1.1 192.168.1.100 192.168.1.135 192.168.2.1 192.168.2.100 172.16.1.1 172.16.1.2 &
-d: run as daemon
-f: config file
-l : packet log
-s: server log
IP address:maps to config file
這邊就很單純的指定honeyd以daemon執行,將packet log寫入packet.log及server log寫入server.log,以及模擬後面的幾個IP,最後的&代表在背景執行 (其實有加-d應該就不用加這個了)

configuration file
以下是設定的範例:
create openbsd
set openbsd personality "OpenBSD 3.3“
add openbsd tcp port 21 "/etc/honeyd/scripts/ftp.sh"
set openbsd default tcp action reset
set openbsd uid 32767 gid 32767
bind 192.168.1.135 openbsd
create router1
set router1 personality "Cisco 1601R router running IOS 12.1(5)"
set router1 default tcp action reset
add router1 tcp port 23 "scripts/router-telnet.pl"
bind 192.168.1.1 router1
bind 172.16.1.1 router1
create router2
set router2 personality "Cisco 801/1720 router running IOS 12.2.8"
set router2 default tcp action reset
add router2 tcp port 513 "scripts/router-telnet.pl"
bind 192.168.2.1 router2
bind 172.16.1.2 router2
route 192.168.1.1 add net 192.168.2.0/24 192.168.2.1
create linux
set linux personality "Linux 2.4.7 (X86)"
add linux tcp port 25 "scripts/smtp.pl"
add linux tcp port 110 "scripts/pop3.sh"
set linux default tcp action reset
set linux uid 32767 gid 32767
bind 192.168.1.100 linux
create windows
set windows personality "Microsoft Windows 2000 SP3"
#add windows tcp port 80 "perl scripts/win2k/iisemulator-0.95/iisemul8.pl"
#add windows tcp port 80 "python scripts/webserver/htdocs/index.py"
add windows tcp port 80 "scripts/web.sh"
add windows tcp port 135 open
set windows default tcp action reset
set windows default udp action block
set windows uid 32767 gid 32767
bind 192.168.2.100 windows

執行之後要測試一下,我們用nmap來測試:
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
80/tcp open http
110/tcp open pop3
135/tcp filtered msrpc
445/tcp filtered microsoft-ds
513/tcp open login
1900/tcp open UPnP
31337/tcp filtered Elite
Device type: broadband router|firewall|general purpose
Running: Belkin embedded, Checkpoint Windows NT/2K/XP, Linux 2.4.X|2.6.X

讓它跑個幾天幾夜,就可以去看它的log檔,應該有滿多好玩的東西。

當時寫的後續可以再研究的方向:(我如果哪天想起來會再來試試。)
使用Honeycomb來分析Log檔
使用Honeyview來分析Log檔及繪圖

2011年6月3日 星期五

OpenNMS的安裝、設定及簡易操作說明

這個是2008年的某個期末報告。
國內對於OpenNMS介紹的相關文章並不多。
因此我整理一下我安裝和操作的流程,希望需要的人可以有資料可以參考。

n安裝平台:Ubuntu 8.04 LTS Server edition
安裝版本:OpenNMS Development 1.5.91

需額外安裝軟體:
Sun JDK 1.5
PostgreSQL 8.2
rrdtool

前置作業:
首先要編輯/etc/apt/source.list,增加以下來源:
deb http://debian.opennms.org/ unstable main
deb-src http://debian.opennms.org/ unstable main

接著我們增加OpenNMS 的PGP Key 到APT
wget -O - http://debian.opennms.org/OPENNMS-GPG-KEY | sudo apt-key add -

安裝 Java SDK
我們使用apt-get安裝
sudo apt-get install sun-java5-jdk

驗證版本
java -version

如果之前有安裝過tomcat4或jre時,需重新選擇要使用的套件
指令如下:
sudo update-alternatives --config java

下載OpenNMS
下載安裝OpenNMS及相關套件,此步驟會一併下載及安裝rrdtool及postgresql
export SKIP_IPLIKE_INSTALL=1
sudo apt-get update
sudo apt-get install opennms
export OPENNMS_HOME=/usr/share/opennms

設定資料庫
此步驟要編輯pg_hba.conf及postgresql.conf
檔案都存放在/etc/postgresql/8.2/main

先編輯pg_hba.conf,設定本機認證方式
local all all ident sameuser
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
修改為:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust

接著我們編輯postgresql.conf
找到 listen_addresses = ‘localhost’ ,將前面的#號刪除
之後重啟postgresql
/etc/init.d/postgresql-8.2 restart

設定OpenNMS
我們先告訴OpenNMS,Java在哪裡
OPENNMS_HOME/bin/runjava -s

接著我們啟始OpenNMS及資料庫
OPENNMS_HOME/bin/install -dis

之後再宣告Java Home的所在
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

最後我們執行opennms
/etc/init.d/opennms start

到這個階段我們可以試著登入opennms試試囉,
預設的網址在:

http://yourhost:8980/opennms/
( yourhost記得代換為自己使用的IP。)

帳號及密碼預設都為 admin/admin

接下來是介面說明的部份,由於是從簡報檔案擷取下來的,因此看起來可能會有點怪怪的。

OpenNMS的功能表

Node List – 提供Node的資訊
Search – 搜尋Node
Outages – 搜尋失聯的Node
Path Outages – 路徑異常功能
Dashboard – 儀表板
Events – 事件
Alarms – 告警
Notifications – 通知
Assets – 資產
Reports – 報表
Charts – 圖表
Surveillance – 監督
Admin – 管理
Help – 協助


登入畫面

Nodes with Outages
失聯的節點
Percentage change over past 24 hours
24小時內變化的百分比
Notification
Resource Graphs
KSC Reports
Key SNMP Customized ,自己指定要看的snmp data,並可以自訂時間軸及圖的種類

















功能介紹- Node List

提供Node的資訊
服務的可用性
介面
通知
近期事件
近期失聯記錄














功能介紹- Search

當監控的Node數量多時可以快速找到要找的Node
依名稱關鍵字搜尋
依IP搜尋
以IP別名搜尋
以提供的服務搜尋
以MAC address搜尋
以資產類別搜尋
以資料所在搜尋

功能介紹 - Outages

當失聯的Node數量多時可以快速找到要找的Node
以Outages id來搜尋
列出目前失聯的Node
列出所有失聯的Node

功能介紹- Path Outages

Path Outages提供路徑異常功能,若該點失聯,則它以下的節點都不會列為失聯。
功能是釐清事件,能更準確的識別問題點。
以下圖為例,若將10.1.3.254設定為10.1.3.1~3的Path Outages,若10.1.3.254失聯時,10.1.3.1~3不會列入失聯記錄中。



功能介紹- Dashboard

針對Router、Switch及Server等重要設備提供快速資訊的查看,提供以下功能:
Alarms
Notifications
Node Status
Resource Graphs
也可以自訂除了Router、Switch及Server以外的類別
















功能介紹- Events

提供查看Events的介面
以Event ID來搜尋
列出目前所有的Event
提供進階搜尋功能
所含內文
IP
Label
等級
服務
時間
















功能介紹- Alarms


提供查看Alarms的介面
以Alarm ID來搜尋
列出目前所有的Alarms
提供進階搜尋功能
所含內文
IP
Label
等級
服務
時間
















功能介紹- Notifications

查詢通知記錄
以User或Notices內容來搜尋
針對登入的使用者的notices
列出送出的notices
列出已被認知的notices

功能介紹- Assets

查詢資產資料
以資產類別搜尋
列出所有節點的資產資訊

功能介紹- Reports

製作報表
Resource Graphs
KSC Performance, Nodes, Domain
Availability
Statistics Reports

功能介紹- Charts
















功能介紹- Surveillance
















功能介紹- Admin

Configure Discovery
Configure Users, Groups and Roles
Configure Notifications
Manage and Unmanage Interfaces and Services
Configure SNMP Data Collection per Interface
Configure SNMP Community Names by IP
Add Interface
Delete Nodes
Import and Export Asset Information


Scheduled Outages
Manage Surveillance Categories
Manage Applications
Manage Provisioning Groups
Manage Thresholds
Manage Location Monitors


2011年6月2日 星期四

簡易IPv6 Tunnel Broker Client在linux安裝的說明及教學:(含DNS查詢及Web Server)

簡易IPv6 Tunnel Broker Clientlinux安裝的說明及教學:(DNS查詢及Web Server)

(適用平台Ubuntu 10.04 Server Edtion)

首先切換到放置source code的目錄

cd /usr/src

(這是我的個人習慣,讀者請依自己的習慣處理)

把檔案抓下來

http://www.go6.net/4105/download.asp

我下載的是:Client 6.0 Source Code (Linux/Unix/Darwin/BSD)

(這邊要注意的是,如果讀者跟我一樣希望有固定IP可以讓別人連線的話,不要下載其它電信業者提供的原始檔,例如gogoc-1_2-RELEASE這個版本。可能是版本太舊的關係,我用這個檔案作認證時,會有TSP版本不支援的訊息,例如TSP version not supported by server: 2.0.2.)

再來就是解壓縮

tar xvf gw6c-6_0-RELEASE-src

切換到解壓縮之後的目錄

cd gw6c-6_0

直接編譯試試(不看安裝說明也是我個人的習慣 XD)

make

結果很不幸,出現以下的錯誤訊息:

can't find openssl/bn.h

安裝對應的函式庫:(如果有其它錯誤訊息就麻煩讀者自行克服了)

apt-get install libssl-dev

裝完之後make就會過了,

但是make install又會有錯誤訊息:

make install

Error: You must specify the install directory

Syntax: make [platform=] installdir= install

似乎是沒有指定os的種類和安裝目錄造成。因此我們指定一下:

make platform=linux installdir=/usr/local/gw6c install

我習慣把安裝後的程式放在/usr/local/裡面

再來就是帳號設定的部份,我想要讓別人可以連進我的IPv6 server,因此我選擇了使用帳號密碼的認證方式,目的是要取得固定IP。這部份用遠傳、亞太和中研院應該都可以,我使用的是亞太電信,

http://tb2.ipv6.apol.com.tw:8080

開啟後選擇第一個,由server幫我設定隨機密碼。(User account creation html web page (automatically generated password)

輸入您要的ide-mail address,送出不久後你就會收到包含帳號密碼的e-mail了。

接著就是填入帳號及密碼的資料:

vi /usr/local/gw6c/bin/gw6c.conf

(vi請自行代換成您熟悉的編輯器)

再改一下server的名稱,我們找到server=這一行,把它改成這樣:

server= tb2.ipv6.apol.com.tw

此外認證的方式也要改,

找到auth_method=anonymous,改成auth_method=any

接著我們啟動試試:

/usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf

這個程式執行之後會自動常駐在記憶體中,因此不需要加上&號。

之後就可以看到一個新介面的產生:(前輩說mask起來比較安全,因此我作了一點施工)




這個時候可以測試一下有沒有通,我們用以下的指令來測試:

ping6 tb2.ipv6.ascc.net

完成之後,可以用安裝了Tunnel Broker的電腦來測試一下,同樣是使用ping6來檢驗。如果有開啟web服務的話,也可以用安裝了Tunnel Broker的電腦來測試一下是否能開啟,記得網址列要加中括號把位址包起來,像這樣:http://[Your IPv6 Address]

接著我們看一下Web server的設定。如果是使用apache2的話,基本上是不需要調整的。但是以我的情形,必須要編輯/etc/apache2/ports.conf這個檔案,然後加上這一行:

Listen [Your IPv6 Address]:80

(IP的部份我還是遮一下比較保險。記得不需要加入/128這種遮罩,以我的例子來說,加到::2就可以了)

加完記得要重啟一下apacheapache2ctl restart

再用netstat來確認一下:



至此應該是大功告成了。剩下的就是DNS的部份了。

我是至 http://domain.hinet.net/free365_idv.html 個網頁申請的 (我試了其它幾家,有一些沒有明顯的說明不收費,有一些在設定DNS/IP對後時無法設定 IPv6的位置)。註冊所需的序號是在 http://ipv6day.tw/11freedomain.html 這個頁面取得的。設定及開通之後在http://domain.hinet.net/,的頁面選擇『個人域名(idv.tw)』裡面的『DNS異動與查詢』,並進行相關的設定即可。

依慣例,設定完成後24小時候就可以在全世界查到了(也許會快一點,我的狀況是設定完馬上就通了)。別忘記可以用ping6 YourIPv6DomainName來試試能不能ping的到。之後就可以使用http://6check.rd.ipv6.org.tw/indexloukver.php#tabs-test的功能來測試一下,你的網頁伺服器是否有支援IPv6了。我的測試結果如下:(題外話,我在測試時沒有放index.htm,測試時一直不會過,後來我把這個檔案生出來才正常的測試通過)