120 likes | 330 Views
實驗二 Linux 下網路驅動程式追蹤. 教師: 助教: 1998/10/19 High Speed Network Lab. Department of Computer Information Science, NCTU. Outline. Why Linux ? Linux 核心的內部 Linux 開機始末 實驗步驟. Why Linux ?. Free !! Compatible with System V & BSD UNIX Compliant to POSIX 1.0 Fast update !! Internet Powerful !!
E N D
實驗二Linux下網路驅動程式追蹤 教師: 助教: 1998/10/19 High Speed Network Lab. Department of Computer Information Science, NCTU
Outline • Why Linux ? • Linux核心的內部 • Linux開機始末 • 實驗步驟
Why Linux ? • Free !! • Compatible with System V & BSD UNIX • Compliant to POSIX 1.0 • Fast update !! • Internet • Powerful !! • Pure 32-bit OS • Candidate OS for embedded system • Source code open !! • Suitable for academic use
Linux 開機始末 • Load the kernel • Probe & setup the hardware • Create system process • System initialization • getty • login process
實驗步驟 • 安裝 Linux • 追蹤開機始末 • 編譯核心 • 設定Linux網路組態 • 在kernel中追蹤 network driver
安裝 Linux • Where should I install it from ? • Which distribution should I choose from ? • Which version should I take ? • How do I install it ? • Does there exist any document ? • /usr/doc
追蹤Linux開機始末 • Capture bootup sequence • dmesg • Shift + [PgUp | PgDw] • syslogd • Traverse /etc/initab • /etc/rc.d/ • Tools • grep • Microsoft Visio Studio - Edit - Find in files
編譯核心 • FTP, tar • make [config | menuconfig | xconfig] • Modules support • Choose your adapter driver • Choose TCP/IP protocol stack • make dep, make clean, make zImage • make modules, make modules_install • move to /boot • re-write boot sector (lilo -v -v -v)
設定網路組態 • Internet 參數 • Network Interface Configuration • ifconfig eth0 x.x.x.x netmask y.y.y.y broadcast z.z.z.z • Routing table Configuration • route add -net default gw 140.113.88.254 dev eth0 • route add -net 140.113.23.0 dev eth0
追蹤kernel中的network driver • Trace by debugger • Trace by printing, record by logging • klogd vs. syslogd • Trigger network modules by “ping”
決定待測機器 • Host IP= H, Netmask=M, Router=R • far active host (IP address=F) • near active host (IP address=N1) • near inactive host (IP address=N2) (H and M)=(R and M)=(R and N1)=(R and N2)≠(R and F)