顯示具有 SOLARIS 標籤的文章。 顯示所有文章
顯示具有 SOLARIS 標籤的文章。 顯示所有文章

首次在 Solaris 10 上 Mount RHEL5 NFS mount point fail

之前有在 LINUX AutoFS 實作 中提到關於在 RHEL 上以 AutoFS 的方式來 Mount NFS partitions from RHEL5 NFS server,今天要試一下在另一台 Solaris 10 的機器上,一樣用 AutoMount 的方式來從 RHEL5 NFS server 上 Mount NFS partitions,不過似乎遇到怪怪的問題了,在改完 /etc/auto_master 與 /etc/auto_nfs ,(這裡要特別注意一下喔,在 RHEL 上這兩個檔案為 /etc/auto.master and /etc/auto.nfs 而在 Solaris 上則改成底線符號喔),並將 svc:/system/filesystem/autofs:default 給重啟後,發現仍無法將遠端 RHEL5 share 的目錄給 mount 上來啊,出現了如下的錯誤訊息:
root@KHCFEMS01 # ls -al /NFSBKP/configuration
/NFSBKP/configuration: Permission denied
total 1
一開始還以為真的是沒在 RHEL5 NFS server 上的 /etc/exports 裡加上這部 Solaris 的權限,再次檢查之後才發現不對啊,權限都有,查看一下 Solaris 機器上的 Log 檔發現如下的錯誤:
root@KHCFEMS01 # tail -3 /var/adm/messages
Oct 8 18:18:44 KHCFEMS01 automountd[26815]: [ID 834250 daemon.error] Mount of KHCBKPS01:/NBU/KHCFEMS01 on /NFSBKP/configuration: Not owner
Oct 8 18:23:39 KHCFEMS01 nfs: [ID 435675 kern.warning] WARNING: NFS server initial call to KHCBKPS01 failed: Not owner
Oct 8 18:23:39 KHCFEMS01 automountd[26851]: [ID 834250 daemon.error] Mount of KHCBKPS01:/NBU/KHCFEMS-ALL on /NFSBKP/configuration: Not owner
原來問題是出在 Solaris 機器上 mount client 的設定檔裡關於版本的問題,在這裡,我們直接編輯 Solaris 上的 /etc/default/nfs 檔,搜尋一下
#NFS_CLIENT_VERSMAX=4
將之改為:
NFS_CLIENT_VERSMAX=3
然後將 svc:/network/nfs/client:default 給 refresh 一下:
svcadm refresh svc:/network/nfs/client:default
這時我們再看一次,果然已經可以使用 AutoMount 來看到遠端的 Mount point 囉,報告完畢~
root@KHCFEMS01 # ls -al /NFSBKP/configuration
total 33
drwxr-xr-x 5 root root 4096 Oct 8 17:21 .
dr-xr-xr-x 2 root root 2 Oct 8 18:22 ..
drwxr-xr-x 2 root root 4096 Oct 8 16:34 KHCFEMS01
drwxr-xr-x 2 root root 4096 Oct 8 16:34 KHCFEMS02
drwxr-xr-x 2 root root 4096 Oct 8 16:36 common_log
(詳全文...)

在 Solaris 10 以 IPMP 簡易配置網卡的 Virtual IP

這次的實作要把本來只有一個實體 IP 的 Solaris 10 的機器改成兩個實體 IP 加上共用一個對外的虛擬 IP,實際的配置將如下:在這個實作中,我們大致上要改動到以下幾個檔案:/etc/hosts, /etc/hostname.bge0, /etc/hostname.bge1, /etc/defaultrouter,其中 bge0 與 bge1 是因為本次的實作機器為 Netra 210,所以網卡的部分請自行依據機型而變。
原配置:
bge0: 10.15.25.43

新配置:
bge0:10.15.25.31
bge1:10.15.25.32
Virtual IP: 10.15.25.43
root@KHCFEMS01 # uname -a
SunOS KHCFEMS01 5.10 Generic_137137-09 sun4u sparc SUNW,Netra-210
root@KHCFEMS01 # cat /etc/release
Solaris 10 10/08 s10s_u6wos_07b SPARC
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 27 October 2008
當然這裡的設定也有幾個限制,首先是兩塊網卡要能提供同樣的工作模式,再來是所有設定的 IP 要在同一個網段之內,而且在這網段內要有其他的機器或設備存在,通常是 GW 啦,可以設置在 defaultrouter 內;當設定完之後,系統會不斷發出 ICMP 的 echo request 封包給同網路的 GW,應該會得到 ICMP Echo reply,另外還會同時監控網卡上有沒有 RUNNING 的存在 (就是用 ifconfig -a 時會在 <> 看到的),這兩項測試都 OK 的話,就判定網卡是 OK 的;任一項失敗,就判定網卡是 nOK 的。(這個最後我們再用snoop來測試一下就知道)

接下來就是開始設定了,首先編輯一下 /etc/hosts:
root@KHCFEMS01 # vi /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
10.15.25.43 KHCFEMS01 khcfems01 loghost
10.15.25.44 KHCFEMS02 khcfems02
10.15.25.31 KHCFEMS01_bge0 khcfems01_bge0
10.15.25.32 KHCFEMS01_bge1 khcfems01_bge1
10.15.25.33 KHCFEMS02_bge0 khcfems02_bge0
10.15.25.34 KHCFEMS02_bge1 khcfems02_bge1
接著我們啟動 bge1 的網卡:
1. 未啟動之前的現狀:
2. 啟動後的狀態:接著我們要編輯 /etc/hostname.bge0 與 /etc/hostname.bge1:
再來是編輯一下 /etc/defaultrouter 和 /etc/netmasks 囉:最後,用 init 6 重新開機一下吧~

重開完之後用 ifconfig -a 看一下網卡的狀態:接著我們用 snoop 來看一下封包吧:
P.S.1. 注意到網卡中被 <> 括起來的部分了嗎:
UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER
有 RUNNING 而且 ping 的到 GW 才有機會帶起 Virtual 的 Interface 喔!另外,NOFAILOVER 就是現在 IPMP group 的狀態啦。

P.S.2. 可以看到已經有一個新的 bge0:1 被帶起來了,而其對外的 Virtual IP 也是我們設定的 10.15.25.43 囉~

以上,報告完畢!
(詳全文...)

要如何在 Linux 和 Solaris 上 capture the network packets?

之前寫到過在 linux 機器上面跑 Ethereal 來抓封包,不過這 Ethereal 都已經進版到 Wireshark 了,所以乾脆再把這方便的指令記錄一下當作備檔,順便也列一下幾個好用的抓封包的指令來做為參考:

首先是 Wireshark,在這裡因為機器多半跑在 run level 3 ,所以我還是用指令來秀就好,先看一下 tshark 有什麼用法:
Usage: tshark [options] ...

Capture interface:
-i (interface) name or idx of interface (def: first non-loopback)
-f (capture) packet filter in libpcap filter syntax
-s (snaplen) packet snapshot length (def: 65535)
-p don't capture in promiscuous mode
-y (link) link layer type (def: first appropriate)
-D print list of interfaces and exit
-L print list of link-layer types of iface and exit

Capture stop conditions:
-c (packet) stop after n packets (def: infinite)
-a (autostop) ... duration:NUM - stop after NUM seconds
filesize:NUM - stop this file after NUM KB
files:NUM - stop after NUM files
Capture output:
-b (ringbuffer) ... duration:NUM - switch to next file after NUM secs
filesize:NUM - switch to next file after NUM KB
files:NUM - ringbuffer: replace after NUM files
Input file:
-r (infile) set the filename to read from (no pipes or stdin!)

Processing:
-R (read) packet filter in Wireshark display filter syntax
-n disable all name resolutions (def: all enabled)
-N (name) enable specific name resolution(s): "mntC"
-d (layer_type)==(selector),(decode_as_protocol) ...
"Decode As", see the man page for details
Example: tcp.port==8888,http
Output:
-w (outfile|-) set the output filename (or '-' for stdout)
-F (output) set the output file type, default is libpcap
an empty "-F" option will list the file types
-V add output of packet tree (Packet Details)
-S display packets even when writing to a file
-x add output of hex and ASCII dump (Packet Bytes)
-T pdml|ps|psml|text|fields
format of text output (def: text)
-e (field) field to print if -Tfields selected (e.g. tcp.port);
this option can be repeated to print multiple fields
-E(fieldsoption)=(value) set options for output when -Tfields selected:
header=y|n switch headers on and off
separator=/t|/s|(char) select tab, space, printable character as separator
quote=d|s|n select double, single, no quotes for values
-t ad|a|r|d|dd|e output format of time stamps (def: r: rel. to first)
-l flush standard output after each packet
-q be more quiet on stdout (e.g. when using statistics)
-X (key):(value) eXtension options, see the man page for details
-z (statistics) various statistics, see the man page for details

Miscellaneous:
-h display this help and exit
-v display version info and exit
-o (name):(value) ... override preference setting
這裡秀了不少相關的參數,不過一般我們用不了這麼多,我就用最簡單的例子來示範一下就好:

下面這個範例示範最常用到就是抓 eth0 的封包並寫到 /tmp/test.cap 去:
[root@KHCDNSS01 ~]# tshark -i eth0 -w /tmp/test.cap
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
145
[root@KHCDNSS01 ~]#
如果要讀出這個 .cap 檔,可以用 -r 的參數,或者直接把檔案抓下來在自己的電腦上用 Wireshark 去開啟,不過有時就是急著要在機器上直接檢視所抓取的封包的結果,那就用 -S 吧,讓存檔的時候還順便把結果秀在螢幕上來檢視:
[root@KHCDNSS01 ~]# tshark -i eth0 -w /tmp/test.log -S
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
0.000000 IntelCor_11:57:ec -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.013780 IntelCor_0c:9c:e3 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.019267 IntelCor_0c:5e:84 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.026100 IntelCor_0c:a2:40 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.106711 IntelCor_11:57:ec -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.125997 IntelCor_0c:5e:84 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.149380 10.255.131.253 -> 10.15.25.13 NTP NTP client
0.149424 10.15.25.13 -> 10.255.131.253 NTP NTP server
0.213424 IntelCor_11:57:ec -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.232625 IntelCor_0c:5e:84 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.321434 IntelCor_11:57:ec -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.340753 IntelCor_0c:5e:84 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.428148 IntelCor_11:57:ec -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
0.447482 IntelCor_0c:5e:84 -> UscInfor_00:00:00 LLC U, func=UI; SNAP, OUI 0x020000 (Unknown), PID 0x0001
14 packets captured
[root@KHCDNSS01 ~]#
不過這樣的封包訊息很難對時間對吧?那我們變換一下隊形,加上時間戳記在每個封包前面好了,這樣也比較方便檢視:
[root@KHCDNSS01 ~]# tshark -i eth1 -ta -w /tmp/test.log -S
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
22:52:38.637125 SunMicro_9b:ab:99 -> Broadcast ARP Who has 172.24.132.9? Tell 172.24.132.5
22:52:38.637154 SunMicro_9b:ab:99 -> Broadcast ARP Who has 172.24.132.7? Tell 172.24.132.5
22:52:38.642615 SunMicro_d0:3e:07 -> Broadcast ARP Who has 172.24.4.8? Tell 172.24.4.9
22:52:38.645906 SunMicro_1a:4e:3b -> Broadcast ARP Who has 172.24.4.87? Tell 172.24.4.84
22:52:38.646316 SunMicro_1a:b6:37 -> Broadcast ARP Who has 172.24.4.87? Tell 172.24.4.86
22:52:38.650723 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34734
22:52:38.657893 172.24.4.7 -> 172.24.4.44 TCP 706 > login [ACK] Seq=0 Ack=0 Win=24820 Len=0
22:52:38.657904 172.24.4.44 -> 172.24.4.7 Rlogin Data: Capturing on eth0\r\n22:52:38.637125 SunMicro_9b:ab:99 -> Broadcast ARP Who has 172.24.132.9? Tell 172.24.132.5\r\n22:52:38.6371
22:52:38.672427 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34732
再列出另一種我比較喜歡的時間格式:
[root@KHCDNSS01 ~]# tshark -i eth1 -tad -w /tmp/test.log -S
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
2009-04-26 22:57:47.071895 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34732
2009-04-26 22:57:47.073645 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34734
2009-04-26 22:57:47.089852 172.24.4.7 -> 172.24.4.44 TCP 706 > login [ACK] Seq=0 Ack=0 Win=24820 Len=0
2009-04-26 22:57:47.089863 172.24.4.44 -> 172.24.4.7 Rlogin Data: Capturing on eth0\r\n2009-04-26 22:57:47.071895 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34732\r\n200
2009-04-26 22:57:47.098563 SunMicro_9b:ad:c9 -> Broadcast ARP Who has 172.24.132.9? Tell 172.24.132.2
2009-04-26 22:57:47.098599 SunMicro_9b:ad:c9 -> Broadcast ARP Who has 172.24.132.7? Tell 172.24.132.2
2009-04-26 22:57:47.116810 172.24.128.202 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34732
2009-04-26 22:57:47.137607 172.24.4.14 -> 172.24.4.44 UDP Source port: 3020 Destination port: 34730
2009-04-26 22:57:47.138241 172.24.4.28 -> 172.24.4.44 UDP Source port: 3030 Destination port: 34726
不過這樣的封包訊息又太精簡了,看不習慣對吧,那我們再變換一下隊形,這樣應該會更方便檢視:(加上 -V 把封包的 detail 訊息秀出來,加上 -x 後把 output 用 hex 和 ASCII 給 dump 出來,現在是不是清楚多了?)
[root@KHCDNSS01 ~]# tshark -i eth0 -Vta -x
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
Frame 1 (104 bytes on wire, 104 bytes captured)
Arrival Time: Apr 26, 2009 18:56:34.406686000
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 104 bytes
Capture Length: 104 bytes
[Frame is marked: False]
[Protocols in frame: eth:llc:data]
IEEE 802.3 Ethernet
Destination: UscInfor_00:00:00 (01:00:5e:00:00:00)
Address: UscInfor_00:00:00 (01:00:5e:00:00:00)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: IntelCor_11:57:ec (00:1c:c0:11:57:ec)
Address: IntelCor_11:57:ec (00:1c:c0:11:57:ec)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Length: 90
Logical-Link Control
DSAP: SNAP (0xaa)
IG Bit: Individual
SSAP: SNAP (0xaa)
CR Bit: Command
Control field: U, func=UI (0x03)
000. 00.. = Command: Unnumbered Information (0x00)
.... ..11 = Frame type: Unnumbered frame (0x03)
Organization Code: Unknown (0x020000)
Protocol ID: 0x0001
Data (82 bytes)
Data: 01011201020000635FFE001CC01157EC01800319112A0000...

0000 01 00 5e 00 00 00 00 1c c0 11 57 ec 00 5a aa aa ..^.......W..Z..
0010 03 02 00 00 00 01 01 01 12 01 02 00 00 63 5f fe .............c_.
0020 00 1c c0 11 57 ec 01 80 03 19 11 2a 00 00 00 00 ....W......*....
0030 00 00 00 00 00 05 0f 49 6e 74 65 72 4e 45 54 2d .......InterNET-
0040 50 72 69 2d 42 6b 00 00 00 1c c0 0c a2 40 00 00 Pri-Bk.......@..
0050 00 00 00 00 00 0c 11 86 f9 ba 00 07 29 5e 4f 88 ............)^O.
0060 4c c8 04 85 e2 ff c3 f9 L.......

Frame 2 (104 bytes on wire, 104 bytes captured)
Arrival Time: Apr 26, 2009 18:56:34.427783000
[Time delta from previous captured frame: 0.021097000 seconds]
[Time delta from previous displayed frame: 0.021097000 seconds]
[Time since reference or first frame: 0.021097000 seconds]
Frame Number: 2
Frame Length: 104 bytes
Capture Length: 104 bytes
[Frame is marked: False]
[Protocols in frame: eth:llc:data]
IEEE 802.3 Ethernet
Destination: UscInfor_00:00:00 (01:00:5e:00:00:00)
Address: UscInfor_00:00:00 (01:00:5e:00:00:00)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: IntelCor_0c:5e:84 (00:1c:c0:0c:5e:84)
Address: IntelCor_0c:5e:84 (00:1c:c0:0c:5e:84)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Length: 90
Logical-Link Control
DSAP: SNAP (0xaa)
IG Bit: Individual
SSAP: SNAP (0xaa)
CR Bit: Command
Control field: U, func=UI (0x03)
000. 00.. = Command: Unnumbered Information (0x00)
.... ..11 = Frame type: Unnumbered frame (0x03)
Organization Code: Unknown (0x020000)
Protocol ID: 0x0001
Data (82 bytes)
Data: 01011001020000DC8C04001CC00C5E84017F0318112A0000...

0000 01 00 5e 00 00 00 00 1c c0 0c 5e 84 00 5a aa aa ..^.......^..Z..
0010 03 02 00 00 00 01 01 01 10 01 02 00 00 dc 8c 04 ................
0020 00 1c c0 0c 5e 84 01 7f 03 18 11 2a 00 00 00 01 ....^......*....
0030 00 01 00 00 00 07 0d 41 53 4e 2d 53 65 63 2d 42 .......ASN-Sec-B
0040 72 69 63 6b 00 00 00 00 00 1c c0 0c 9c e3 00 00 rick............
0050 00 00 00 00 00 0c 11 86 f9 bb 00 05 e3 0c 4e a3 ..............N.
0060 fd 42 49 17 bb 9e bd 64 .BI....d

Frame 3 (90 bytes on wire, 90 bytes captured)
Arrival Time: Apr 26, 2009 18:56:34.444956000
[Time delta from previous captured frame: 0.017173000 seconds]
[Time delta from previous displayed frame: 0.017173000 seconds]
[Time since reference or first frame: 0.038270000 seconds]
Frame Number: 3
Frame Length: 90 bytes
Capture Length: 90 bytes
[Frame is marked: False]
[Protocols in frame: eth:ip:udp:ntp]
Ethernet II, Src: 02:00:00:dc:8c:04 (02:00:00:dc:8c:04), Dst: 00:22:19:50:bc:7e (00:22:19:50:bc:7e)
Destination: 00:22:19:50:bc:7e (00:22:19:50:bc:7e)
Address: 00:22:19:50:bc:7e (00:22:19:50:bc:7e)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: 02:00:00:dc:8c:04 (02:00:00:dc:8c:04)
Address: 02:00:00:dc:8c:04 (02:00:00:dc:8c:04)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
Type: IP (0x0800)
Internet Protocol, Src: 10.255.131.253 (10.255.131.253), Dst: 10.15.25.13 (10.15.25.13)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 76
Identification: 0x284a (10314)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 27
Protocol: UDP (0x11)
Header checksum: 0xc53f [correct]
[Good: True]
[Bad : False]
Source: 10.255.131.253 (10.255.131.253)
Destination: 10.15.25.13 (10.15.25.13)
User Datagram Protocol, Src Port: ntp (123), Dst Port: ntp (123)
Source port: ntp (123)
Destination port: ntp (123)
Length: 56
Checksum: 0x4170 [correct]
[Good Checksum: True]
[Bad Checksum: False]
Network Time Protocol
Flags: 0x0b
00.. .... = Leap Indicator: no warning (0)
..00 1... = Version number: reserved (1)
.... .011 = Mode: client (3)
Peer Clock Stratum: unspecified or unavailable (0)
Peer Polling Interval: invalid (0)
Peer Clock Precision: 1.000000 sec
Root Delay: 0.0000 sec
Root Dispersion: 0.0000 sec
Reference Clock ID: NULL
Reference Clock Update Time: NULL
Originate Time Stamp: NULL
Receive Time Stamp: NULL
Transmit Time Stamp: NULL

0000 00 22 19 50 bc 7e 02 00 00 dc 8c 04 08 00 45 00 .".P.~........E.
0010 00 4c 28 4a 00 00 1b 11 c5 3f 0a ff 83 fd 0a 0f .L(J.....?......
0020 19 0d 00 7b 00 7b 00 38 41 70 0b 00 00 00 00 00 ...{.{.8Ap......
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0050 00 00 00 00 00 00 00 00 00 00 ..........
對了,補充一下,當在抓封包時在 /var/log/messages 裡面常會出現一堆如下所列的訊息:
kernel: device eth0 entered promiscuous mode
kernel: device eth0 left promiscuous mode
這代表你的網卡處於"混雜模式時",在同一個 broadcast segment 下的封包,都會被監聽,如果你的 LAN 是用 HUB 來接,那整個 LAN 的封包都會被監聽,若你的 LAN 是用 switch 接,一般來說就只能看到自己和 broadcast 的封包。

假如你不想在 /var/log/messages 裡面再看到這些訊息的話,可以再加上一個 -p 的參數,就好了...

當然如果還要加上一些 filter 的話就只需依想要過濾的條件去設定就行了,舉例來說,我想過濾只抓關於 RTSP 的封包就好:
[root@KHCDNSS01 ~]# tshark -i eth1 -Vtad -x -p port rtsp
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
Frame 1 (74 bytes on wire, 74 bytes captured)
Arrival Time: Apr 26, 2009 23:39:12.773857000
Time delta from previous packet: 0.000000000 seconds
Time since reference or first frame: 0.000000000 seconds
Frame Number: 1
Packet Length: 74 bytes
Capture Length: 74 bytes
Protocols in frame: eth:ip:tcp
Ethernet II, Src: 00:15:60:a3:f4:67, Dst: 00:15:60:a3:f8:e5
Destination: 00:15:60:a3:f8:e5 (00:15:60:a3:f8:e5)
Source: 00:15:60:a3:f4:67 (00:15:60:a3:f4:67)
Type: IP (0x0800)
Internet Protocol, Src Addr: 172.24.4.44 (172.24.4.44), Dst Addr: 172.24.4.14 (172.24.4.14)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 60
Identification: 0x03e6 (998)
Flags: 0x04 (Don't Fragment)
0... = Reserved bit: Not set
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0xd66b (correct)
Source: 172.24.4.44 (172.24.4.44)
Destination: 172.24.4.14 (172.24.4.14)
Transmission Control Protocol, Src Port: 57606 (57606), Dst Port: rtsp (554), Seq: 0, Ack: 0, Len: 0
Source port: 57606 (57606)
Destination port: rtsp (554)
Sequence number: 0 (relative sequence number)
Header length: 40 bytes
Flags: 0x0002 (SYN)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...0 .... = Acknowledgment: Not set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..1. = Syn: Set
.... ...0 = Fin: Not set
Window size: 5792
Checksum: 0x57d2 (correct)
Options: (20 bytes)
Maximum segment size: 1460 bytes
SACK permitted
Time stamp: tsval 2080473562, tsecr 2080479415
NOP
Window scale: 0 (multiply by 1)

0000 00 15 60 a3 f8 e5 00 15 60 a3 f4 67 08 00 45 00 ..`.....`..g..E.
0010 00 3c 03 e6 40 00 40 06 d6 6b ac 18 04 2c ac 18 .(..@.@..k...,..
0020 04 0e e1 06 02 2a 01 28 82 3c 00 00 00 00 a0 02 .....*.(.(......
0030 16 a0 57 d2 00 00 02 04 05 b4 04 02 08 0a 7c 01 ..W...........|.
0040 81 da 7c 01 98 b7 01 03 03 00 ..|.......
綜合以上所說的,其實我一般最常用的便是類似下面組合起來的 command 囉:
[root@KHCDNSS01 ~]# tshark -i eth0 -Vtad -x icmp -p -w /tmp/test.log -S
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
Frame 1 (98 bytes on wire, 98 bytes captured)
Arrival Time: Apr 27, 2009 10:53:50.326876000
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 98 bytes
Capture Length: 98 bytes
[Frame is marked: False]
[Protocols in frame: eth:ip:icmp:data]
Ethernet II, Src: 00:22:19:50:bc:7e (00:22:19:50:bc:7e), Dst: All-HSRP-routers_04 (00:00:0c:07:ac:04)
Destination: All-HSRP-routers_04 (00:00:0c:07:ac:04)
Address: All-HSRP-routers_04 (00:00:0c:07:ac:04)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: 00:22:19:50:bc:7e (00:22:19:50:bc:7e)
Address: 00:22:19:50:bc:7e (00:22:19:50:bc:7e)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: IP (0x0800)
Internet Protocol, Src: 10.15.25.13 (10.15.25.13), Dst: 192.168.161.5 (192.168.161.5)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 84
Identification: 0x0000 (0)
Flags: 0x04 (Don't Fragment)
0... = Reserved bit: Not set
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: ICMP (0x01)
Header checksum: 0xb5df [correct]
[Good: True]
[Bad : False]
Source: 10.15.25.13 (10.15.25.13)
Destination: 192.168.161.5 (192.168.161.5)
Internet Control Message Protocol
Type: 8 (Echo (ping) request)
Code: 0 ()
Checksum: 0x866f [correct]
Identifier: 0x7a27
Sequence number: 1 (0x0001)
Data (56 bytes)
Data: 3E1EF549D4FC040008090A0B0C0D0E0F1011121314151617...

0000 00 00 0c 07 ac 04 00 22 19 50 bc 7e 08 00 45 00 .......".P.~..E.
0010 00 54 00 00 40 00 40 01 b5 df 0a 0f 19 0d c0 a8 .T..@.@.........
0020 a1 05 08 00 86 6f 7a 27 00 01 3e 1e f5 49 d4 fc .....oz'..)..I..
0030 04 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 ................
0040 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 .......... !"#$%
0050 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 &'()*+,-./012345
0060 36 37 67

1 packets captured
[root@KHCDNSS01 ~]#
既然說到在 Linux 上使用 Wireshark, 那在 Solaris 上面呢?簡單來說你可以使用 snoop 跟 tcpdump,不過個人是偏好 snoop 啦,下面先簡單列一下可用的選項:
Usage: snoop
[ -a ] # Listen to packets on audio
[ -d device ] # Listen on interface named device
[ -s snaplen ] # Truncate packets
[ -c count ] # Quit after count packets
[ -P ] # Turn OFF promiscuous mode
[ -D ] # Report dropped packets
[ -S ] # Report packet size
[ -i file ] # Read previously captured packets
[ -o file ] # Capture packets in file
[ -n file ] # Load addr-to-name table from file
[ -N ] # Create addr-to-name table
[ -t r|a|d ] # Time: Relative, Absolute or Delta
[ -v ] # Verbose packet display
[ -V ] # Show all summary lines
[ -p first[,last] ] # Select packet(s) to display
[ -x offset[,length] ] # Hex dump from offset for length
[ -C ] # Print packet filter code
[ -q ] # Suppress printing packet count
[ -r ] # Do not resolve address to name

[ filter expression ]
其實簡單說起來,用法跟 Wireshark 大同小異啦,比方說,下面是我常用的一個指令,用來檢查 NTP client 有沒有過來做 NTP 的同步,當然也可以把 filter 的部分改成其他的用法,比方說用 "bootp" 來取代掉 "port ntp" 的部分,就可以檢查 DHCP Client 有沒有來 request IP...其他的選項部分跟 Wireshark 其實差異不大,-d 是用來指定抓封包的 interface,-P 一樣可以避免網卡處於"混雜模式",-r 是不要解析 IP address,-v 是秀出詳細的 packet,而 -ta 則是秀出時間戳記.....
47ksh# snoop -vVta -r -d bge0 -P -x5 port ntp
Using device /dev/bge0 (non promiscuous)
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 11 arrived at 18:21:4.42140
ETHER: Packet size = 90 bytes
ETHER: Destination = 0:14:4f:a9:83:50,
ETHER: Source = 0:1a:f0:bc:b6:6d,
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0xc0
IP: xxx. .... = 6 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: .... ..0. = not ECN capable transport
IP: .... ...0 = no ECN congestion experienced
IP: Total length = 76 bytes
IP: Identification = 0
IP: Flags = 0x0
IP: .0.. .... = may fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 254 seconds/hops
IP: Protocol = 17 (UDP)
IP: Header checksum = 757e
IP: Source address = 10.16.25.34, 10.16.25.34
IP: Destination address = 10.17.25.32, 10.17.25.32
IP: No options
IP:
UDP: ----- UDP Header -----
UDP:
UDP: Source port = 123
UDP: Destination port = 123 (NTP)
UDP: Length = 56
UDP: Checksum = F8E2
UDP:
NTP: ----- Network Time Protocol -----
NTP:
NTP: Leap = 0x0 (OK)
NTP: Version = 3
NTP: Mode = 3 (client)
NTP: Stratum = 3 (secondary reference)
NTP: Poll = 6
NTP: Precision = 238 seconds
NTP: Synchronizing distance = 0x0000.0064 (0.001526)
NTP: Synchronizing dispersion = 0x0000.040d (0.015823)
NTP: Reference clock = 10.17.25.32 (10.17.25.32)
NTP: Reference time = 0xcda00550.6bbe484f (2009-04-27 18:20:00.42087)
NTP: Originate time = 0xcda00550.6b9f8000 (2009-04-27 18:20:00.42040)
NTP: Receive time = 0xcda00550.6bbe484f (2009-04-27 18:20:00.42087)
NTP: Transmit time = 0xcda00590.6bc46a2c (2009-04-27 18:21:04.42097)


0: 8350 001a f0bc b66d 0800 45c0 004c 0000 .P.....m..E..L..
16: 0000 fe11 757e 0a10 1922 0a11 1920 007b ....u~..."... .{
32: 007b 0038 f8e2 1b03 06ee 0000 0064 0000 .{.8.........d..
48: 040d 0a11 1920 cda0 0550 6bbe 484f cda0 ..... .?.Pk.HO.?
64: 0550 6b9f 8000 cda0 0550 6bbe 484f cda0 .Pk?...?.Pk.HO.?
80: 0590 6bc4 6a2c ..k.j,

^C
root@KHXDNSS1:/etc/domain
好囉,就先寫到這兒吧~

---------- 補充於 2009/04/30 -------------
追加補充個我常用的 filer,因為常需要分析 AAA server 間的 Radius protocol,所以常會這麼下指令:(這些是在 Linux OS 上的指令)
[root@TEST01 ~]# tshark -Vtad -p -i bond1 -x -z "radius,rtd,ip.addr==xx.xx.xx.xx" -w /tmp/AAA-radius.cap -S
或者是:
[root@TEST01 ~]# tshark -Vtad -p -i bond1 -x -z radius,rtd. -w /tmp/AAA-radius.cap -S
又或者是乾脆就這麼用:
[root@TEST01 ~]# tshark -Vtad -p -i bond1 -x port radius -w /tmp/AAA-radius.cap -S
對了,加上這個 -z 的參數,在抓完封包時,會多出如下的處理訊息:
RADIUS Response Time Delay (RTD) Statistics:
Filter for statistics:
Duplicate requests: 3
Duplicate responses: 0
Open requests: 3
Discarded responses: 0
Type | Messages | Min RTD | Max RTD | Avg RTD | Min in Frame | Max in Frame |
Overall | 1 | 1.53 msec | 1.53 msec | 1.53 msec | 11 | 11 |
Access | 1 | 1.53 msec | 1.53 msec | 1.53 msec | 11 | 11 |
OK,補充完畢...
(詳全文...)

Solaris 10 上安裝 isc-dhcp 並設為 SMF 管理的 service 實作

今天臨時要裝一台 SUN 的機器,用來當新的 DHCP server,手邊只有公司精簡版的 Solaris 10 的安裝光碟,裝完後才發現,歐賣尬的,挖勒,怎麼沒看到 isc-dhcp 啊?啊是躲到哪去了?用 svcs -a 去看居然只有 default 的那支 dhcp-server:
8ksh# svcs -a|grep dhcp
disabled 16:39:47 svc:/network/dhcp-server:default
問題來了,由於這一台機器是要把另一台正在 in service 機器上的 DHCP service 給取代掉的,而且之前的 DHCP 是用 isc-dhcp v3.0.4,我看了一下那個 default dhcp-server 的設定,跟 isc-dhcp 的差異實在頗大,沒時間重新設定成 dhcp-server 用的,目前也沒時間線上驗證,怕會影響目前客戶的 serice,所以只得趕快去找 isc-dhcp for Solaris10 的 package。

先到 ISC下載網頁去看一下,目前最新的版本是 DHCP v4.1.0,抓下來試試看,結果要 ./configure 時居然發現這個精簡版的 OS超級精簡的,連 gcc 都沒有...
17ksh# ./configure
checking for a BSD-compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.

root@KHXDNSS1:/opt/SW_Package/dhcp-4.1.0
再一查看才發現缺的東西真是多啊,算了,時間不多,換一個好了,直接抓安裝版的好了....到 SunFreeware 去找了一下,嗯,看到了 dhcp-4.0.0-sol10-sparc-local.gz,當下二話不說,先抓回來看看~

解壓再 pkgadd 裝來看看:
25ksh# pkgadd -d dhcp-4.0.0-sol10-sparc-local

The following packages are available:
1 SMCdhcp dhcp
(sparc) 4.0.0

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all

Processing package instance from

dhcp(sparc) 4.0.0
ISC
Using as the package base directory.
## Processing package information.
## Processing system information.
4 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing dhcp as

## Installing part 1 of 1.
/usr/local/bin/omshell
/usr/local/doc/dhcp/LICENSE
/usr/local/doc/dhcp/README
/usr/local/doc/dhcp/RELNOTES
/usr/local/doc/dhcp/contrib/3.0b1-lease-convert
/usr/local/doc/dhcp/contrib/dhclient-tz-exithook.sh
/usr/local/doc/dhcp/contrib/dhcp.spec
/usr/local/doc/dhcp/contrib/ms2isc/Registry.pm
/usr/local/doc/dhcp/contrib/ms2isc/ms2isc.pl
/usr/local/doc/dhcp/contrib/ms2isc/readme.txt
/usr/local/doc/dhcp/contrib/sethostname.sh
/usr/local/doc/dhcp/contrib/solaris.init
/usr/local/doc/dhcp/doc/IANA-arp-parameters
/usr/local/doc/dhcp/doc/Makefile
/usr/local/doc/dhcp/doc/References.html
/usr/local/doc/dhcp/doc/References.txt
/usr/local/doc/dhcp/doc/References.xml
/usr/local/doc/dhcp/doc/api+protocol
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient-script.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.conf.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.leases.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-eval.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-options.5
/usr/local/etc/dhclient.conf
/usr/local/etc/dhcpd.conf
/usr/local/include/dhcpctl/dhcpctl.h
/usr/local/include/isc-dhcp/boolean.h
/usr/local/include/isc-dhcp/commandline.h
/usr/local/include/isc-dhcp/dst.h
/usr/local/include/isc-dhcp/formatcheck.h
/usr/local/include/isc-dhcp/int.h
/usr/local/include/isc-dhcp/lang.h
/usr/local/include/isc-dhcp/list.h
/usr/local/include/isc-dhcp/mem.h
/usr/local/include/isc-dhcp/print.h
/usr/local/include/isc-dhcp/result.h
/usr/local/include/isc-dhcp/string.h
/usr/local/include/isc-dhcp/types.h
/usr/local/include/omapip/alloc.h
/usr/local/include/omapip/buffer.h
/usr/local/include/omapip/convert.h
/usr/local/include/omapip/hash.h
/usr/local/include/omapip/omapip.h
/usr/local/include/omapip/omapip_p.h
/usr/local/include/omapip/trace.h
/usr/local/lib/libdhcpctl.a
/usr/local/lib/libdst.a
/usr/local/lib/libomapi.a
/usr/local/sbin/dhclient
/usr/local/sbin/dhcpd
/usr/local/sbin/dhcrelay
/usr/local/share/man/man1/omshell.1
/usr/local/share/man/man3/dhcpctl.3
/usr/local/share/man/man3/omapi.3
/usr/local/share/man/man5/dhclient.conf.5
/usr/local/share/man/man5/dhclient.leases.5
/usr/local/share/man/man5/dhcp-eval.5
/usr/local/share/man/man5/dhcp-options.5
/usr/local/share/man/man5/dhcpd.conf.5
/usr/local/share/man/man5/dhcpd.leases.5
/usr/local/share/man/man8/dhclient-script.8
/usr/local/share/man/man8/dhclient.8
/usr/local/share/man/man8/dhcpd.8
/usr/local/share/man/man8/dhcrelay.8
[ verifying class ]

Installation of was successful.

root@KHXDNSS1:/opt/SW_Package
27ksh# pkginfo SMCdhcp
application SMCdhcp dhcp

root@KHXDNSS1:/opt/SW_Package
裝完直接跑跑看吧:
6ksh# /usr/local/sbin/dhcpd
ld.so.1: dhcpd: fatal: libcrypto.so.0.9.8: open failed: No such file or directory
Killed

root@KHXDNSS1:/root
不是吧?這個 OS 也實在是太過精簡了吧,要什麼沒什麼~算了,二話不說,直接移掉:
7ksh# pkgrm SMCdhcp

The following package is currently installed:
SMCdhcp dhcp
(sparc) 4.0.0

Do you want to remove this package? [y,n,?,q] y

## Removing installed package instance
## Verifying package dependencies in global zone
## Processing package information.
## Removing pathnames in class
/usr/local/share/man/man8/dhcrelay.8
/usr/local/share/man/man8/dhcpd.8
/usr/local/share/man/man8/dhclient.8
/usr/local/share/man/man8/dhclient-script.8
/usr/local/share/man/man8
/usr/local/share/man/man5/dhcpd.leases.5
/usr/local/share/man/man5/dhcpd.conf.5
/usr/local/share/man/man5/dhcp-options.5
/usr/local/share/man/man5/dhcp-eval.5
/usr/local/share/man/man5/dhclient.leases.5
/usr/local/share/man/man5/dhclient.conf.5
/usr/local/share/man/man5
/usr/local/share/man/man3/omapi.3
/usr/local/share/man/man3/dhcpctl.3
/usr/local/share/man/man3
/usr/local/share/man/man1/omshell.1
/usr/local/share/man/man1
/usr/local/share/man
/usr/local/share
/usr/local/sbin/dhcrelay
/usr/local/sbin/dhcpd
/usr/local/sbin/dhclient
/usr/local/sbin
/usr/local/lib/libomapi.a
/usr/local/lib/libdst.a
/usr/local/lib/libdhcpctl.a
/usr/local/lib
/usr/local/include/omapip/trace.h
/usr/local/include/omapip/omapip_p.h
/usr/local/include/omapip/omapip.h
/usr/local/include/omapip/hash.h
/usr/local/include/omapip/convert.h
/usr/local/include/omapip/buffer.h
/usr/local/include/omapip/alloc.h
/usr/local/include/omapip
/usr/local/include/isc-dhcp/types.h
/usr/local/include/isc-dhcp/string.h
/usr/local/include/isc-dhcp/result.h
/usr/local/include/isc-dhcp/print.h
/usr/local/include/isc-dhcp/mem.h
/usr/local/include/isc-dhcp/list.h
/usr/local/include/isc-dhcp/lang.h
/usr/local/include/isc-dhcp/int.h
/usr/local/include/isc-dhcp/formatcheck.h
/usr/local/include/isc-dhcp/dst.h
/usr/local/include/isc-dhcp/commandline.h
/usr/local/include/isc-dhcp/boolean.h
/usr/local/include/isc-dhcp
/usr/local/include/dhcpctl/dhcpctl.h
/usr/local/include/dhcpctl
/usr/local/include
/usr/local/etc/dhcpd.conf
/usr/local/etc/dhclient.conf
/usr/local/etc
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-options.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-eval.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.leases.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.conf.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient-script.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP
/usr/local/doc/dhcp/doc/api+protocol
/usr/local/doc/dhcp/doc/References.xml
/usr/local/doc/dhcp/doc/References.txt
/usr/local/doc/dhcp/doc/References.html
/usr/local/doc/dhcp/doc/Makefile
/usr/local/doc/dhcp/doc/IANA-arp-parameters
/usr/local/doc/dhcp/doc
/usr/local/doc/dhcp/contrib/solaris.init
/usr/local/doc/dhcp/contrib/sethostname.sh
/usr/local/doc/dhcp/contrib/ms2isc/readme.txt
/usr/local/doc/dhcp/contrib/ms2isc/ms2isc.pl
/usr/local/doc/dhcp/contrib/ms2isc/Registry.pm
/usr/local/doc/dhcp/contrib/ms2isc
/usr/local/doc/dhcp/contrib/dhcp.spec
/usr/local/doc/dhcp/contrib/dhclient-tz-exithook.sh
/usr/local/doc/dhcp/contrib/3.0b1-lease-convert
/usr/local/doc/dhcp/contrib
/usr/local/doc/dhcp/RELNOTES
/usr/local/doc/dhcp/README
/usr/local/doc/dhcp/LICENSE
/usr/local/doc/dhcp
/usr/local/doc
/usr/local/bin/omshell
/usr/local/bin
## Updating system information.

Removal of was successful.

root@KHXDNSS1:/root
算了,回頭看一下原來的機器,用的是 v3.0.4 版的,好吧,再去找了一下,v3.0.4 版的是找不到,不過還好在 SunFreeware 還有給 Solaris10 用的 DHCP v3.0.5 (dhcp-3.0.5-sol10-sparc-local.gz) 的版本,一樣,先抓來解壓縮:
gunzip dhcp-3.0.5-sol10-sparc-local.gz
接著裝上去吧:
17ksh# pkgadd -d dhcp-3.0.5-sol10-sparc-local

The following packages are available:
1 SMCdhcp dhcp
(sparc) 3.0.5

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all

Processing package instance from

dhcp(sparc) 3.0.5
ISC
Using as the package base directory.
## Processing package information.
## Processing system information.
7 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing dhcp as

## Installing part 1 of 1.
/usr/local/bin/omshell
/usr/local/doc/dhcp/LICENSE
/usr/local/doc/dhcp/README
/usr/local/doc/dhcp/RELNOTES
/usr/local/doc/dhcp/contrib/3.0b1-lease-convert
/usr/local/doc/dhcp/contrib/dhcp.spec
/usr/local/doc/dhcp/contrib/ms2isc/Registry.pm
/usr/local/doc/dhcp/contrib/ms2isc/ms2isc.pl
/usr/local/doc/dhcp/contrib/ms2isc/readme.txt
/usr/local/doc/dhcp/contrib/sethostname.sh
/usr/local/doc/dhcp/contrib/solaris.init
/usr/local/doc/dhcp/doc/IANA-arp-parameters
/usr/local/doc/dhcp/doc/api+protocol
/usr/local/doc/dhcp/doc/draft-ietf-dhc-authentication-14.txt
/usr/local/doc/dhcp/doc/draft-ietf-dhc-dhcp-dns-12.txt
/usr/local/doc/dhcp/doc/draft-ietf-dhc-failover-07.txt
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient-script.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.8
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.conf.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhclient.leases.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-eval.5
/usr/local/doc/dhcp/doc/ja_JP.eucJP/dhcp-options.5
/usr/local/doc/dhcp/doc/rfc1542.txt
/usr/local/doc/dhcp/doc/rfc2131.txt
/usr/local/doc/dhcp/doc/rfc2132.txt
/usr/local/doc/dhcp/doc/rfc2485.txt
/usr/local/doc/dhcp/doc/rfc2489.txt
/usr/local/doc/dhcp/doc/rfc951.txt
/usr/local/doc/dhcp/site.conf
/usr/local/include/dhcpctl.h
/usr/local/include/isc-dhcp/boolean.h
/usr/local/include/isc-dhcp/dst.h
/usr/local/include/isc-dhcp/int.h
/usr/local/include/isc-dhcp/lang.h
/usr/local/include/isc-dhcp/list.h
/usr/local/include/isc-dhcp/result.h
/usr/local/include/isc-dhcp/types.h
/usr/local/include/omapip/alloc.h
/usr/local/include/omapip/buffer.h
/usr/local/include/omapip/omapip.h
/usr/local/lib/libdhcpctl.a
/usr/local/lib/libomapi.a
/usr/local/man/man1/omshell.1
/usr/local/man/man1m/dhclient-script.1m
/usr/local/man/man1m/dhclient.1m
/usr/local/man/man1m/dhcpd.1m
/usr/local/man/man1m/dhcrelay.1m
/usr/local/man/man3/dhcpctl.3
/usr/local/man/man3/omapi.3
/usr/local/man/man3/omshell.3
/usr/local/man/man4/dhclient.conf.4
/usr/local/man/man4/dhclient.leases.4
/usr/local/man/man4/dhcp-eval.4
/usr/local/man/man4/dhcp-options.4
/usr/local/man/man4/dhcpd.conf.4
/usr/local/man/man4/dhcpd.leases.4
/usr/local/sbin/dhclient
/usr/local/sbin/dhclient-script
/usr/local/sbin/dhcpd
/usr/local/sbin/dhcrelay
[ verifying class ]

Installation of was successful.

root@KHXDNSS1:/opt/SW_Package
18ksh# pkginfo |grep dhcp
application SMCdhcp dhcp

root@KHXDNSS1:/opt/SW_Package
裝完,先直接跑跑看囉,這裡我先把舊的設定檔放到 /etc/dhcpd.conf,另外我指定把ip租借表寫到 /var/dhcpd/dhcpd.leases 去:
26ksh# /usr/local/sbin/dhcpd -d -cf /etc/dhcpd.conf -lf /var/dhcpd/dhcpd.leases &
[1] 3566

root@KHXDNSS1:/opt/SW_Package
開始執行之後自然有 log 出現:
27ksh# Internet Systems Consortium DHCP Server V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.
Listening on DLPI/bge0/00:14:4f:a9:83:50/cluster
Sending on DLPI/bge0/00:14:4f:a9:83:50/cluster
Sending on Socket/fallback/fallback-net
27ksh# ps -aef |grep dhcp
root 3566 3497 0 15:18:11 pts/3 0:00 /usr/local/sbin/dhcpd -d -cf /etc/dhcpd.conf -lf /var/dhcpd/dhcpd.leases

root@KHXDNSS1:/root
嗯,看來這次跑起ok了~

不過,在 Solaris 10 上已經用 SMF服務命令行管理工具來進行系統服務管理了,但,現在這新開張的 isc-dhcp 倒是還沒納入管理,雖說也可寫個 /etc/rc2.d/S97dhcpd 之類的給他自己跑,不過對管理上總是不合規矩,還是讓他也統一吧。

簡單的說就是先寫一個 isc-dhcp 專用的 xml 檔,這裡我們就 vi 一個 isc-dhcp.xml 如下:
28ksh# vi /var/svc/manifest/network/isc-dhcp.xml
接著我們 vi 一個 service 執行用的簡單 shell script 叫做 /usr/sbin/startdhcp.sh,這個在剛剛的 xml 裡面有定義到:
30ksh# cat /usr/sbin/startdhcp.sh
#!/sbin/sh -x

if [ ! -f /usr/local/sbin/dhcpd ]
then
echo "/usr/local/sbin/dhcpd does not exist"
exit 1
fi

/usr/local/sbin/dhcpd -d -cf /etc/dhcpd.conf -lf /var/dhcpd/dhcpd.leases&
這裡做完之後記得最後一個步驟就是:
32ksh# svccfg import /var/svc/manifest/network/isc-dhcp.xml
這樣就可以用 svcs -a 去查詢服務的狀態,用 svcadm 去啟動或是停止 isc-dhcp 的服務了:
33ksh# svcs -a|grep dhcp
disabled 16:34:28 svc:/network/dhcp-server:default
disabled 18:07:07 svc:/network/isc-dhcp:default
23ksh# svcadm enable isc-dhcp

root@KHXDNSS1:/root
24ksh# svcs -a|grep dhcp
disabled 16:34:28 svc:/network/dhcp-server:default
offline 18:10:23 svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
看起來仍有些問題,那就用 -x 或 -v 的選項來看看問題出在哪吧:
37ksh# svcs -x isc-dhcp
svc:/network/isc-dhcp:default (DHCP server)
State: offline since Wed Apr 01 18:10:23 2009
Reason: Service svc:/milestone/multi-user:default
is not running because a method failed.
See: http://sun.com/msg/SMF-8000-GE
See: in.dhcpd(1M)
Impact: 2 dependent services are not running. (Use -v for list.)

root@KHXDNSS1:/root
38ksh# svcs -xv isc-dhcp
svc:/network/isc-dhcp:default (DHCP server)
State: offline since Wed Apr 01 18:10:23 2009
Reason: Service svc:/milestone/multi-user:default
is not running because a method failed.
See: http://sun.com/msg/SMF-8000-GE
Path: svc:/network/isc-dhcp:default
svc:/milestone/multi-user:default
See: man -M /usr/share/man -s 1M in.dhcpd
Impact: 2 dependent services are not running:
svc:/milestone/multi-user-server:default
svc:/system/zones:default

root@KHXDNSS1:/root
看的出來是 svc:/milestone/multi-user:default 的影響,這裡用另一個選項 -d 來看看有沒有 dependent services:
39ksh# svcs -v isc-dhcp
STATE NSTATE STIME CTID FMRI
offline - 18:10:23 - svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
40ksh# svcs -d isc-dhcp
STATE STIME FMRI
maintenance 17:04:47 svc:/milestone/multi-user:default

root@KHXDNSS1:/root
原來 svc:/milestone/multi-user:default 在 maintenance mode 啊,那就先把他給重啟好了:
41ksh# svcadm disable svc:/milestone/multi-user:default

root@KHXDNSS1:/root
42ksh# svcs -d isc-dhcp
STATE STIME FMRI
disabled 18:19:43 svc:/milestone/multi-user:default

root@KHXDNSS1:/root
43ksh# svcadm enable svc:/milestone/multi-user:default

root@KHXDNSS1:/root
44ksh# svcs -d isc-dhcp
STATE STIME FMRI
online 18:19:55 svc:/milestone/multi-user:default
好了,svc:/milestone/multi-user:default 已經正常跑起來了,再查看一下 isc-dhcp 看看:
45ksh# svcs -x isc-dhcp
svc:/network/isc-dhcp:default (DHCP server)
State: maintenance since Wed Apr 01 18:19:57 2009
Reason: Restarting too quickly.
See: http://sun.com/msg/SMF-8000-L5
See: in.dhcpd(1M)
See: /var/svc/log/network-isc-dhcp:default.log
Impact: This service is not running.

root@KHXDNSS1:/root
現在沒別的因素在影響了,也重啟一下isc-dhcp 吧:
46ksh# ps -aef |grep dhcp

root@KHXDNSS1:/root
47ksh# svcs -a|grep isc-dhcp
maintenance 18:19:57 svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
48ksh# svcadm disable isc-dhcp

root@KHXDNSS1:/root
49ksh# svcs -a|grep isc-dhcp
disabled 18:21:11 svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
50ksh# svcadm enable isc-dhcp

root@KHXDNSS1:/root
51ksh# svcs -a|grep isc-dhcp
online 18:21:18 svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
52ksh# ps -aef |grep dhcp
root 1101 1 0 18:21:19 ? 0:00 /usr/local/sbin/dhcpd -d -cf /etc/dhcpd.conf -lf /var/dhcpd/dhcpd.leases

root@KHXDNSS1:/root
53ksh# svcs -x isc-dhcp
svc:/network/isc-dhcp:default (DHCP server)
State: online since Wed Apr 01 18:21:18 2009
See: in.dhcpd(1M)
See: /var/svc/log/network-isc-dhcp:default.log
Impact: None.

root@KHXDNSS1:/root
54ksh# svcs -v isc-dhcp
STATE NSTATE STIME CTID FMRI
online - 18:21:18 106 svc:/network/isc-dhcp:default

root@KHXDNSS1:/root
55ksh# svcs -xv isc-dhcp
svc:/network/isc-dhcp:default (DHCP server)
State: online since Wed Apr 01 18:21:18 2009
See: man -M /usr/share/man -s 1M in.dhcpd
See: /var/svc/log/network-isc-dhcp:default.log
Impact: None.

root@KHXDNSS1:/root
56ksh# svcs -d isc-dhcp
STATE STIME FMRI
online 18:19:55 svc:/milestone/multi-user:default

root@KHXDNSS1:/root
現在一切都正常了,做個測試看看能不能正常派發 IP 吧:
57ksh# tail -f /var/svc/log/network-isc-dhcp:default.log
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.
[ Apr 1 18:21:18 Method "start" exited with status 0 ]
Listening on DLPI/bge0/00:14:4f:a9:83:50/cluster
Sending on DLPI/bge0/00:14:4f:a9:83:50/cluster
Sending on Socket/fallback/fallback-net

DHCPDISCOVER from 00:11:3f:c1:5a:ac via 10.71.252.254
DHCPOFFER on 10.71.252.13 to 00:11:3f:c1:5a:ac via 10.71.252.254
DHCPREQUEST for 10.71.252.13 (10.17.25.22) from 00:11:3f:c1:5a:ac via 10.71.252.254
DHCPACK on 10.71.252.13 to 00:11:3f:c1:5a:ac via 10.71.252.254

DHCPDISCOVER from 00:11:3f:c1:5a:ae via 10.71.252.254
DHCPOFFER on 10.71.252.14 to 00:11:3f:c1:5a:ae via 10.71.252.254
DHCPREQUEST for 10.71.252.14 (10.17.25.22) from 00:11:3f:c1:5a:ae via 10.71.252.254
DHCPACK on 10.71.252.14 to 00:11:3f:c1:5a:ae via 10.71.252.254
^C
root@KHXDNSS1:/root
OK,看來都沒問題了,搞定收工~
(詳全文...)

用 dmidecode 來看 LINUX 或 Solaris 的硬體訊息

在 Linux 系統開機狀態下要看目前的 CPU, Memory 狀態,基本的狀態可以由 /proc/cpuinfo 和 /proc/meminfo 得知,但是...你知道你的機器是雙核心?四核心?還是單核的呢?實體有一顆還是兩顆ㄌㄟ?記憶體到底是插了幾個 slot 呢?恐怕就沒辦法從剛剛的兩個檔案中得知了;甚至於萬一機器遠在別縣市客戶的 site,卻又臨時需要查看機器的序號時,這時候有個實用的工具可以輕易的配合來完成這個需求。

那就是 dmidecode 了,他支援了很多的系統喔:
* Linux i386
* Linux x86_64
* Linux ia64
* FreeBSD i386
* FreeBSD x86_64
* NetBSD i386
* OpenBSD i386
* BeOS i386
* Cygwin i386
* Solaris x86 (CVS version)
dmidecode 官方網站:http://www.nongnu.org/dmidecode/
dmidecode 下載位置:http://download.savannah.gnu.org/releases/dmidecode/

下面就是在我的一台機器 (Dell 2950 Power edge with 2 quad core processors, 8G RAM) 上跑出來的結果,給大家參考參考:(其中 Handle 0x0400~Handle 0x0401 秀出的是兩顆實體 CPU 的訊息,另外 Handle 0x1101~Handle 0x1104 可以看到每個 slot 各插 2G的記憶體,總共是8G的記憶體;這一台機器最大可安插的記憶體量為 32GB 可安裝於 DIMM1~8,可參考 Handle 0x1000 的數據。)
[root@KHXDBS1 ~]# dmidecode
# dmidecode 2.2
SMBIOS 2.5 present.
66 structures occupying 3399 bytes.
Table at 0xCFB9C000.
Handle 0xDA00
DMI type 218, 11 bytes.
OEM-specific Type
Header And Data:
DA 0B 00 DA B2 00 17 00 0E 20 00
Handle 0x0000
DMI type 0, 24 bytes.
BIOS Information
Vendor: Dell Inc.
Version: 2.2.6
Release Date: 02/05/2008
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 1024 kB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Handle 0x0100
DMI type 1, 27 bytes.
System Information
Manufacturer: Dell Inc.
Product Name: PowerEdge 2950
Version: Not Specified
Serial Number: BQFQV1S
UUID: 44454C4C-5100-1046-8051-C2C04F563153
Wake-up Type: Power Switch
Handle 0x0200
DMI type 2, 9 bytes.
Base Board Information
Manufacturer: Dell Inc.
Product Name: 0J250G
Version: A00
Serial Number: ..CN1374084800LQ.
Handle 0x0300
DMI type 3, 21 bytes.
Chassis Information
Manufacturer: Dell Inc.
Type: Rack Mount Chassis
Lock: Present
Version: Not Specified
Serial Number: BQFQV1S
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Heigth: 2 U
Number Of Power Cords: Unspecified
Contained Elements: 0
Handle 0x0400
DMI type 4, 40 bytes.
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: 76 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 17, Stepping 6
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
SBF (Signal break on FERR)
Version: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
Voltage: 1.4 V
External Clock: 1333 MHz
Max Speed: 3600 MHz
Current Speed: 2333 MHz
Status: Populated, Enabled
Upgrade:
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: 0x0702
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0401
DMI type 4, 40 bytes.
Processor Information
Socket Designation: CPU2
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: 76 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 17, Stepping 6
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
SBF (Signal break on FERR)
Version: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
Voltage: 1.4 V
External Clock: 1333 MHz
Max Speed: 3600 MHz
Current Speed: 2333 MHz
Status: Populated, Idle
Upgrade:
L1 Cache Handle: 0x0703
L2 Cache Handle: 0x0704
L3 Cache Handle: 0x0705
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0700
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative

Handle 0x0701
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 12288 KB
Maximum Size: 12288 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Other

Handle 0x0702
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 0 KB
Maximum Size: 0 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Unknown

Handle 0x0703
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative

Handle 0x0704
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 12288 KB
Maximum Size: 12288 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Other

Handle 0x0705
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 0 KB
Maximum Size: 0 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Unknown

Handle 0x0800
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-15 female
Port Type: Video Port

Handle 0x0801
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-15 female
Port Type: Video Port

Handle 0x0802
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0803
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0804
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0805
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0806
DMI type 126, 9 bytes.
Inactive
Handle 0x0807
DMI type 126, 9 bytes.
Inactive
Handle 0x0808
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: Access Bus (USB)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: USB

Handle 0x0809
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-45
Port Type: Network Port

Handle 0x080A
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-45
Port Type: Network Port

Handle 0x080B
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-9 male
Port Type: Serial Port 16550A Compatible

Handle 0x0900
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI1
Type:
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0901
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI2
Type:
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0902
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI3
Type:
Current Usage: In Use
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0903
DMI type 126, 17 bytes.
Inactive
Handle 0x0904
DMI type 126, 17 bytes.
Inactive
Handle 0x0905
DMI type 126, 17 bytes.
Inactive
Handle 0x0A00
DMI type 10, 10 bytes.
On Board Device Information
Type: Video
Status: Enabled
Description: Embedded ATI ES1000 Video
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5708 NIC 1
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5708 NIC 2

Handle 0x0B00
DMI type 11, 5 bytes.
OEM Strings
String 1: Dell System
String 2: 5[0000]
Handle 0x7E00
DMI type 126, 154 bytes.
Inactive
Handle 0x0C00
DMI type 12, 5 bytes.
System Configuration Options
Option 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaults
Option 2: PWRD_EN: Close to enable password

Handle 0x0D00
DMI type 13, 22 bytes.
BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1

Handle 0x1000
DMI type 16, 15 bytes.
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 8

Handle 0x1100
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 1
Locator: DIMM1
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 052469A5
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1101
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 1
Locator: DIMM2
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 0524673C
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1102
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 2
Locator: DIMM3
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 052469A4
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1103
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 2
Locator: DIMM4
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 05246B9B
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1104
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 3
Locator: DIMM5
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1105
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 3
Locator: DIMM6
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1106
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 4
Locator: DIMM7
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1107
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 4
Locator: DIMM8
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1108
DMI type 126, 28 bytes.
Inactive
Handle 0x1109
DMI type 126, 28 bytes.
Inactive
Handle 0x110A
DMI type 126, 28 bytes.
Inactive
Handle 0x110B
DMI type 126, 28 bytes.
Inactive
Handle 0x1300
DMI type 19, 15 bytes.
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 0

Handle 0x1301
DMI type 19, 15 bytes.
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0022FFFFFFF
Range Size: 4864 MB
Physical Array Handle: 0x1000
Partition Width: 0

Handle 0x2000
DMI type 32, 11 bytes.
System Boot Information
Status: No errors detected

Handle 0x2600
DMI type 38, 18 bytes.
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA8 (I/O)
Register Spacing: 32-bit Boundaries

Handle 0x2900
DMI type 41, 11 bytes.
Unknown Type
Header And Data:
29 0B 00 29 01 85 01 00 00 03 00
Strings:
Embedded NIC 1

Handle 0x2901
DMI type 41, 11 bytes.
Unknown Type
Header And Data:
29 0B 01 29 01 85 02 00 00 07 00
Strings:
Embedded NIC 2

Handle 0xD000
DMI type 208, 19 bytes.
OEM-specific Type
Header And Data:
D0 13 00 D0 02 00 FE 00 B2 01 00 00 00 00 00 00
00 00 02

Handle 0xD200
DMI type 210, 12 bytes.
OEM-specific Type
Header And Data:
D2 0C 00 D2 F8 03 04 03 06 80 04 05

Handle 0xD400
DMI type 212, 127 bytes.
OEM-specific Type
Header And Data:
D4 7F 00 D4 70 00 71 00 00 10 2D 2E 03 00 11 7F
80 04 00 11 7F 00 42 00 11 FE 01 43 00 11 FE 00
00 00 11 9F 20 00 00 11 9F 00 6E 01 11 9F 20 6D
01 11 9F 00 31 40 11 FB 00 32 40 11 FB 04 9D 00
11 FD 02 9E 00 11 FD 00 9F 00 26 FE 01 A0 00 26
FE 00 51 00 26 3F 00 52 00 26 3F 40 53 00 26 3F
80 54 00 26 3F C0 28 40 26 DF 20 29 40 26 DF 00
D6 01 26 F7 00 D7 01 26 F7 08 FF FF 00 00 00

Handle 0xD401
DMI type 212, 207 bytes.
OEM-specific Type
Header And Data:
D4 CF 01 D4 70 00 71 00 03 40 5A 6D 6B 00 78 7F
80 6C 00 78 7F 00 58 00 78 FA 05 59 00 78 FA 00
5C 00 78 BF 40 5D 00 78 BF 00 04 80 78 FD 02 01
A0 78 FD 00 00 00 55 E7 00 00 00 55 E7 08 00 00
55 E7 10 6C 01 57 FC 00 6B 01 57 FC 01 6A 01 57
FC 02 77 01 54 FC 00 78 01 54 FC 01 79 01 54 FC
02 7A 01 54 FC 03 33 40 54 CF 00 34 40 54 CF 10
35 40 54 CF 20 36 40 54 CF 30 1A 40 54 FB 04 1B
40 54 FB 00 1C 40 54 F7 08 1D 40 54 F7 00 43 40
58 DF 20 42 40 58 DF 00 6E 00 58 FC 01 2D 00 58
FC 02 DA 01 58 FC 03 2E 00 58 FC 00 22 40 58 EF
10 23 40 58 EF 00 BB 00 58 F3 04 BC 00 58 F3 08
DB 01 58 F3 0C BA 00 58 F3 00 FF FF 00 00 00

Handle 0xD402
DMI type 212, 47 bytes.
OEM-specific Type
Header And Data:
D4 2F 02 D4 70 00 71 00 03 40 5A 6D D8 00 55 7F
80 D9 00 55 7F 00 00 C0 5C 00 0A 03 C0 67 00 05
83 00 76 00 00 84 00 77 00 00 FF FF 00 00 00

Handle 0xD403
DMI type 212, 247 bytes.
OEM-specific Type
Header And Data:
D4 F7 03 D4 72 00 73 00 00 40 5D 5E 71 01 46 FB
04 72 01 46 FB 00 73 01 46 F7 08 74 01 46 F7 00
00 00 46 FE 00 00 00 46 FE 01 4A 01 46 BF 40 4B
01 46 BF 00 D3 00 00 00 02 D4 00 02 00 02 00 90
2C 00 00 01 90 2D 00 00 00 00 49 EB 14 DB 00 49
EB 00 00 00 49 FC 00 00 00 49 FC 01 00 00 49 FC
02 00 00 49 7F 00 00 00 49 7F 80 17 01 4A FE 00
18 01 4A FE 01 19 01 4A FD 00 1A 01 4A FD 02 00
00 4A FB 00 00 00 4A FB 04 00 00 4A F7 00 00 00
4A F7 08 35 01 4B FC 00 37 01 4B FC 01 3B 01 4B
F3 04 DE 00 63 FE 01 26 40 42 FE 01 27 40 42 FE
00 49 01 47 FE 01 48 01 47 FE 00 A1 00 45 CF 20
A3 00 45 CF 10 A2 00 45 CF 00 02 40 46 DF 00 01
40 46 DF 20 95 01 7E FC 00 96 01 7E FC 01 97 01
7E FC 02 09 80 7E F3 00 0A 80 7E F3 04 0B 80 7E
F3 08 FF FF 00 00 00

Handle 0xD404
DMI type 212, 77 bytes.
OEM-specific Type
Header And Data:
D4 4D 04 D4 72 00 73 00 00 40 5D 5E 41 40 40 FE
01 40 40 40 FE 00 CF 01 40 FD 02 D0 01 40 FD 00
45 40 40 F7 08 44 40 40 F7 00 FC 01 45 BF 00 FD
01 45 BF 40 40 01 47 FD 02 41 01 47 FD 00 31 02
47 FB 00 32 02 47 FB 04 FF FF 00 00 00

Handle 0xD405
DMI type 212, 27 bytes.
OEM-specific Type
Header And Data:
D4 1B 05 D4 70 00 71 00 03 40 5A 6D 12 02 57 EF
00 11 02 57 EF 10 FF FF 00 00 00

Handle 0xD800
DMI type 216, 9 bytes.
OEM-specific Type
Header And Data:
D8 09 00 D8 01 02 01 00 00
Strings:
ATI
RN50 A20 BIOS

Handle 0xDE00
DMI type 222, 16 bytes.
OEM-specific Type
Header And Data:
DE 10 00 DE 01 04 FF FF 00 00 00 00 00 00 00 01

Handle 0x7F00
DMI type 127, 4 bytes.
End Of Table
[root@KHXDBS1 ~]#
(詳全文...)