Tools to analyze and monitor
Linux comes with many tools to monitor networking tasks.
We used the
ifconfig command above to see the
status of the ethernet card. However,
can configure devices as well as report on them. Suppose you want to set
up a temporary network configuration for testing. You could edit the
configuration through the distribution tool, but you would need to note
all of the settings to put it back when you're done. By using
ifconfig, we can configure the card quickly without
touching the saved settings:
ifconfig eth0 192.168.13.13 netmask 255.255.255.0 up
The command above will set eth0 to the address 192.168.13.13 with a Class C IP address and make sure that it is up.
ifconfig eth0 down
The command above will shut down the eth0 device. See the
info ifconfig page for full details on using
To activate and deactivate network devices using their saved configurations, use
# Bring up eth0 using the saved configuration
# Shut down eth0
netstat console command to print
network connections, routing tables, interface statistics, masquerade
connections, and multicast memberships.
netstat has several command line switches to control
its function. Here are some of the common ones:
Printing network status
|Shows the PID and name of the program to which each socket belongs|
|Shows both listening and non-listening sockets|
|Shows TCP connections|
|Shows UDP connections|
|Displays additional information; use this option twice for maximum detail|
Here's an example of
netstat most often to view connections
that are in the LISTEN or ESTABLISHED states. LISTEN are the services on
your system that are accepting connections from other machines.
ESTABLISHED are the active connections between your machine and others.
Make sure you know all of the LISTEN programs that are running. If you
see something you don't recognize, it could be a security concern.
netstat has many options. Type
info netstat at the command line for details.
route console command lets you show
and manipulate the IP routing table.
route with no switches will show the
current routing table. You can make very elaborate changes to the routing
route add default gw 10.10.10.1
The above command adds a default route (which will be used if no other route matches). All packets using this route will be gatewayed through "10.10.10.1". The device that will actually be used for that route depends on how we can reach "10.10.10.1" -- the static route to "10.10.10.1" will have to be set up before.
route add -net 18.104.22.168 netmask 255.255.255.0 dev eth0
The above command adds a route to the network 192.56.76.x via "eth0." The Class C netmask modifier is not really necessary here because 192.* is a Class C IP address. The word "dev" can be omitted here.
Routing is a very deep subject. Full information about the
route options is available with
Linux was designed for networking from the start. It has built into it
sophisticated functions that were previously found only on high-end
enterprise offerings. However, even
with all of this power, configuration of Linux networking is no
more complex than configuration in Windows. Tools such as Webmin,
redhat-config-network, and YAST allow graphical configuration. Tools such
route allow viewing and modification of network
parameters from the console or scripts. Tools such as
netstat allow viewing of individual network
connections and show their relationships to running processes.