首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Windows 到 Linux 之旅 第 7 部分. 网络-2

Windows 到 Linux 之旅 第 7 部分. 网络-2

分析和监控工具Linux 附带了许多工具来监控网络任务。
ifconfig
我们在上面使用过         ifconfig 命令来查看以太网卡的状态。然而,         ifconfig 还可以配置设备并报告关于设备的情况。假设您要建立一个临时的网络配置以供测试。您可以使用发行版本中的工具来编辑配置,但是需要注意在完成测试之后,将所有设置恢复回去。通过使用         ifconfig ,我们无需影响已保存的设置,就能够快速地配置网卡:      
1
ipconfig eth0 192.168.13.13 netmask 255.255.255.0 up




上面这条命令使用一个 C 类 IP 地址将 eth0 设置到地址 192.168.13.13,并确保它正常运行。
1
ipconfig eth0 down




上面这条命令将关闭 eth0 设备。关于使用          ifconfig 的完整细节,请参见         info ifconfig 页面。      
ifup/ifdown
要使用已保存的配置来激活和禁用网络设备,请分别使用         ifup 和         ifdown 。      
1
2
3
4
5
6
7
# Bring up eth0 using the saved configuration
          <br>
ifup eth0
          <br><br>
# Shut down eth0
          <br>
ifdown eth0




netstat
使用         netstat 控制台命令来输出网络连接、路由表、接口统计、伪装连接和组播成员。         netstat 具有多个命令行开关来控制其功能。下面是其中一些常用的开关:      
输出网络状态netstat -p显示每个套接字所属的程序的PID 或名称netstat -a同时显示侦听和非侦听套接字netstat -t显示 TCP 连接netstat -u显示 UDP 连接netstat -e显示附加信息;使用这个选项两次,可以获得最详细的信息
下面是         netstat -tp 的一个例子:      
清单 2. 使用 netstat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[root@cmw-t30 root]# netstat -tp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
PID/Program name
tcp        0      0 localhost.localdo:29000 *:*                     LISTEN
2389/attvpnctl
tcp        0      0 *:10000                 *:*                     LISTEN
5945/perl
tcp        0      0 *:x11                   *:*                     LISTEN
1120/X
tcp        0      0 *:ftp                   *:*                     LISTEN
724/xinetd
tcp        0      0 *:ssh                   *:*                     LISTEN
710/sshd
tcp        0      0 *:ipp                   *:*                     LISTEN
797/cupsd
tcp        0      0 *:505                   *:*                     LISTEN
1043/rcd
tcp        0      0 localhost.localdoma:ipp localhost.localdo:32772 ESTABLISHED
797/cupsd
tcp        0      0 sig-9-65-39-140.m:44916 sdoprods2.austin.i:1352 TIME_WAIT
-
tcp        0      0 10.100.100.101:33020    64.12.29.100:5190       ESTABLISHED
1433/gaim
tcp        0      0 localhost.localdo:44954 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44955 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44897 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44902 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44903 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44900 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 localhost.localdo:44901 localhost.localdoma:ipp TIME_WAIT
-
tcp        0      0 10.100.100.101:44888    cs9336-61.austin.r:pop3 TIME_WAIT
-
tcp        0      0 localhost.localdo:32772 localhost.localdoma:ipp ESTABLISHED
1246/gnome-cups-man
tcp        1      0 localhost.localdo:32774 localhost.localdoma:ipp CLOSE_WAIT
1246/gnome-cups-man
tcp        0      0 10.100.100.101:33019    cs46.msg.sc5.yahoo:5050 ESTABLISHED
1433/gaim
tcp        0      0 sig-9-65-39-140.m:35061 d03nm119.boulder.i:1352 CLOSE_WAIT
1720/wineserver
tcp        0      0 10.100.100.101:33021    64.12.30.4:5190         ESTABLISHED
1433/gaim




我最常使用         netstat 命令来查看处于 LISTEN 或 ESTABLISHED 状态的连接。LISTEN是系统上的服务,它接受来自其他机器的连接。ESTABLISHED 是您的机器和其他机器之间的活动连接。请确保您知道正在运行的所有 LISTEN程序。如果看到某些无法识别的内容,它可能就是一个安全顾虑。         netstat 具有许多选项。请在命令行键入         info netstat 来获得该命令的细节。      
route
route 控制台命令允许您显示和操作 IP 路由表。      
清单 3. 使用 route
1
2
3
4
5
6
7
[root@cmw-t30 plugins]# route|grep -v ipsec
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
204.146.24.42   10.100.100.1    255.255.255.255 UGH   0      0        0 eth1
10.100.100.0    *               255.255.255.0   U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         10.100.100.1    0.0.0.0         UG    0      0        0 eth1




不带命令行开关运行         route 将显示当前路由表。可以使用         route 对该路由表进行非常精细的修改。      
1
route add default gw 10.10.10.1




上面的命令添加一个默认的路由(它将在没有其他路由匹配的情况下被使用)。使用这个路由的所有分组都将途经网关“10.10.10.1”。实际将用于该路由的设备取决于我们如何到达“10.10.10.1”——到“10.10.10.1”的静态路由必须预先设置好。
1
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0




上面的命令添加一个通过“eth0”到网络 192.56.76.x 的路由。这里的 C 类网络掩码修饰符实际上并不是必需的,因为 192.*就是一个 C 类 IP 地址。这里的单词“dev”也可以省略。
路由选择是一个非常深奥的主题。关于         route 选项的完整信息可通过         info route 命令获得。      
结束语Linux 从一开始就是为网络而设计的。它内置了以前仅在高端企业产品中才可见到的成熟功能。然而,尽管拥有所有这些强大的能力,Linux 网络的配置却远没有Windows 网络的配置复杂。诸如 Webmin、redhat-config-network 和 YAST这样的工具允许执行图形化的配置。诸如         ifconfig 和         route 这样的工具允许通过控制台或脚本查看和修改网络参数。诸如         netstat 这样的工具允许查看单独的网络连接,并显示它们与运行着的进程的关系。
返回列表