NAD710 Lab 1

From CDOT Wiki
Revision as of 20:10, 1 September 2008 by Cheping (talk | contribs) (Objective)
Jump to: navigation, search

NAD710 - Introduction to Networks - Using Linux

Objective

Use the following commands to collect system information and network settings on a Linux Machine:

  • hostname
  • uname
  • /sbin/lspci
  • /sbin/lsmod
  • /sbin/modinfo
  • /sbin/ifconfig
  • /sbin/route
  • /sbin/arp

Background Information

A computer must have the proper network settigns in order to communicate with other computers either on a local area network or on the Internet. The procedure below could be used to collect the following network settings and system information on a Linux machine:

  • MAC Address
  • IP address
  • Network Mask
  • Broadcast address
  • Network address
  • IP address(es) of the gateway(s)
  • hostname
  • list of PCI device
  • Network device driver
  • Linux Kernel information

Follow the procedure on matrix.senecac.on.ca and your own Fedora Core machine to collete those network settings and system information.

Procedure

  • On any Linux machine with Internet connection, run the ssh client to login to matrix.senecac.on.ca using your email account and password:
 [rchan@fc9 student]$ssh raymond@matrix.senecac.on.ca
 Password: 
 Have a lot of fun...
 student@matrix:~>

System Information

  • Type the command
 raymond@matrix:~> uname -a  
  • Use the command "man uname" to display the manual page for the command "uname" and use it to decode the output of the "uname" command. You should record the output of the "uname" command for later use.
  • Type the following command to display the host name of the machine you are on:
 raymond@matrix:~> hostname
  • Type the command /sbin/lspci to display all the PCI devices detected by the Linux kernel. Record the output, especially look for the line that contains the words "Ethernet controller".
 raymond@matrix:~> /sbin/lspci
 00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
 00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 05)
 00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 05)
 ...
  • Each piece of periphal hardware need a program (device driver) to control it. Most of the hardware device drivers are implemented on Linux as loadable kernel modules. The command /sbin/lsmod can be used to display all currently loaded kernel modules (i.e. hardware device drivers).
 raymond@matrix:~> /sbin/lsmod
 Module
 ...                     Size  Used by
 loop                   20488  0
 dm_mod                 60184  0
 usbhid                 52192  0
 e100                   40456  0
 mii                     9600  1 e100
 i2c_i801               11660  0
 i2c_core               25216  1 i2c_i801
 ...
  • The first column on the output of the /sbin/lsmod command is the module name. You can obtain more information about each loadable kernel module withe the command /sbin/modinfo:
 raymond@matrix:~> /sbin/modinfo mii
 filename:       /lib/modules/2.6.18.8-0.5-default/kernel/drivers/net/mii.ko
 author:         Jeff Garzik <jgarzik@pobox.com>
 description:    MII hardware support library
 license:        GPL
 vermagic:       2.6.18.8-0.5-default SMP mod_unload 586 REGPARM gcc-4.1
 supported:      yes
 depends:
 srcversion:     16DCEDEE4B5629C222C352D

Network settings

  • Try the command "/sbin/modinfo" on each of the module listed and determine which one is the device driver for the network interface card. Record the location (filename) of the device driver of the network interface card. If you have to type the command for each module by hand, it may take you quite a while. If you know shell scripting, you can write a small shell script to automate the process and save a lot of typing.
  • To display basic networking settings on a Linux system, type the command "/sbin/ifconfig" and record the output for later use:
 raymond@matrix:~> /sbin/ifconfig
 eth0    Link encap:Ethernet  HWaddr 00:03:47:E9:89:B5
         inet addr:192.168.1.70  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::203:47ff:fee9:89b5/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:164170 errors:0 dropped:0 overruns:0 frame:0
         TX packets:133956 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:16560820 (15.7 Mb)  TX bytes:15356431 (14.6 Mb)
  
 lo      Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:24893 errors:0 dropped:0 overruns:0 frame:0
         TX packets:24893 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:18954652 (18.0 Mb)  TX bytes:18954652 (18.0 Mb)
  • From the output of the /sbin/ifconfig command, you should be able to determine the IP address, network broadcast address and network mask for your host. In the above sample output, "eth0" is device name of the real network device, and "lo" is the logical loopback network device. There are a few other fields in the output that are import in troubleshooting networking problems. Consult the "man" page for "ifconfig" for more details.
  • To be able to communicate computers on the LANs or on the Internet, your system needs to know which network (or LAN) it is in and the IP address of at least one gateway machine to connect to other network. Type the command /sbin/route and record its output for later use:
 raymond@matrix:~> /sbin/route -n
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
 169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
 127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
 0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
  • From the output of the /sbin/route command, you should be able to tell which networks (LANs) your machine is directly connected (the 1st column) and which gateway (the 2nd column) your machine could be used to reach other networks. Consult the "man" page for "route" for more details.
  • If there is no "Gateway" for your machine, your machine can only communicate with other machines that are physically connected.

Questions

Completing this Lab