120 likes | 401 Views
實驗三 Linux 網路協定程式追蹤. 教師: 助教:. 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 !!
E N D
實驗三Linux網路協定程式追蹤 教師: 助教:
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 to get it ? • ftp://linux.cs.nctu.edu.tw • Which distributions ? • Fedora, Ubuntu, Debian • Which versions? • Fedora 5 • How do I install it ? • Existing documents ? • /usr/doc
追蹤Linux開機始末 • Capture bootup sequence • dmesg • Scroll Lock, Shift + [PgUp | PgDw] • syslogd • Traverse /etc/initab • /etc/rc.d/ • Tools • grep • Microsoft Visio Studio - Edit - Find in files
編譯核心 • Obtain the kernel source • make [config | menuconfig | xconfig] • Modules support • Choose your adapter driver • Choose TCP/IP protocol stack • make clean, make • make modules_install • cp arch/i386/boot/bzImage to /boot • cp System.map to /boot • move to /boot and mkinitrd • rewrite grub/grub.conf
設定網路組態 • Internet 參數 • Network interface configuration • ifconfig eth0 x.x.x.x netmask y.y.y.y broadcast z.z.z.z ( Set IP address, netmask, broadcast address) • Routing table configuration • route add -net default gw 140.113.88.254 dev eth0 ( Add new network route on device eth0 and route packets via a gateway ) • route add -net 140.113.23.0 dev eth0 ( Add new network route on device eth0 )
追蹤kernel中的network driver • Trace by debugger (KDB) • Trace by printing, record by logging • klogd vs. syslogd • Trigger network modules by “ping”
決定待測機器 • (H and M)=(R and M)=(N1 and M)=(N2 and M)≠(F and M) • 公式中的and代表作bitwise的AND運算。 • ( H and M ) = ( R and M ) 代表H和R在同一個network