📄 00000017.htm
字号:
Proto RefCnt Flags Type State I-Node Path <BR> <BR> unix 7 [ ] DGRAM 296 /dev/log <BR> <BR> unix 0 [ ] STREAM CONNECTED 120 @00000014 <BR> <BR> unix 0 [ ] DGRAM 2920 <BR> <BR> unix 0 [ ] DGRAM 611 <BR> <BR> unix 0 [ ] DGRAM 532 <BR> <BR> unix 0 [ ] DGRAM 461 <BR> <BR> unix 0 [ ] DGRAM 381 <BR> <BR> unix 0 [ ] DGRAM 324 <BR> <BR> unix 0 [ ] DGRAM 309 <BR> <BR> 这里面最重要的是上半部分,容易看到,当前202.199.248.16正在使用pop-3协议从我 <BR>们的系统上取信,在服务器上的连接端口是110(pop3),在对方机器上是1066。每个TCP <BR>连接都会产生出一个这样的行,在高峰时段,我们会看到服务器上出现200个以上的htt <BR>p连接和多个smtp连接,相应地,那时候会感到网络速度的明显退降。 <BR> <BR> netstat命令的第二个功能是显示网络接口的状态,这是通过netstat –i命令完成的 <BR>: <BR> <BR> $ netstat -i <BR> <BR> Kernel Interface table <BR> <BR> Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OV <BR>R Flg <BR> <BR> eth0 1500 0 18467 0 0 0 15691 1 0 0 <BR> BRU <BR> <BR> eth1 1500 0 29712 0 0 0 16091 3 0 <BR>0 BRU <BR> <BR> lo 3924 0 979 0 0 0 979 0 0 <BR>0 LRU <BR> <BR> 现在服务器上有三个网络接口,分别是两个以太网接口和一个本机loopback接口。在 <BR>输出中,每个接口占据一行,各栏的含义是这样的: <BR> <BR> Iface是网络的接口名字,MTU是网络的传输数据单元的大小。接下来,以RX和TX开头 <BR>的栏是发送和接收的数据包的数目,OK代表正常的包,ERR,DRP,OVR分别代表包错误, <BR>包被丢弃和溢出。后两者一般发生在网络发生碰撞的时候。一般来说,碰撞包应该少于 <BR>总包数的0.5%,如果你发现了更高的丢包率,可以肯定是网络的电气连接上出现了拥塞 <BR>。 <BR> <BR> netstat命令还有一个-r选项,它等效于使用route命令: <BR> <BR> $ netstat -r <BR> <BR> Kernel IP routing table <BR> <BR> Destination Gateway Genmask Flags MSS Window irtt Iface <BR> <BR> 202.199.248.11 * 255.255.255.255 UH 0 0 0 eth0 <BR> <BR> 255.255.255.255 * 255.255.255.255 UH 0 0 0 eth0 <BR> <BR> 202.199.249.0 * 255.255.255.0 U 0 0 0 eth1 <BR> <BR> 202.199.248.0 * 255.255.255.0 U 0 0 0 eth0 <BR> <BR> 127.0.0.0 * 255.0.0.0 U 0 0 0 lo <BR> <BR> default router.asnc.edu 0.0.0.0 UG 0 0 0 eth0 <BR> <BR> 如果发现了过多的碰撞,你需要一个以太网络分析软件,比如Netware的Net Analyse <BR>r程序。 <BR> <BR> 另外一种情况,是发现系统中的数据流量过大。对于这种情况,你需要确定数据的流 <BR>动方向,那些机器造成了过量的数据流。这个任务可以用专用的分析工具,也可以使用 <BR>某种监听软件,例如安全性的章中讲的sniffit程序。不过,一般情况下,只要使用标准 <BR>的tcpdump程序就可以完成这个任务了。 <BR> <BR> 要使用tcpdump,你必须具有root权限,这个程序会显示出所有在网络上流动的数据包 <BR>: <BR> <BR> $tcpdump <BR> <BR> Kernel filter, protocol ALL, datagram packet socket <BR> <BR> tcpdump: listening on all devices <BR> <BR> 14:57:26.283567 eth1 < 202.199.249.2.1029 > linux.asnc.edu.cn.telnet: . 66 <BR>7982:) <BR> <BR> 14:57:26.283648 eth1 > linux.asnc.edu.cn.telnet > 202.199.249.2.1029: P 1: <BR>89(88) <BR> <BR> 14:57:26.286378 eth0 > linux.asnc.edu.cn.1131 > www.asnc.edu.cn.domain: 37 <BR>528+ ) <BR> <BR> ……………………… <BR> <BR> 由于tcpdump程序会输出所有它看到的数据包,因此在网络繁忙的时候会看到它疯狂地 <BR>输出数据包的统计信息。你可以用重定向把tcpdump程序的输出存储到文件然后用某种脚 <BR>本工具来分析它们,也可以在使用tcpdump程序的时候加上过滤条件: <BR> <BR> # tcpdump dst 255.255.255.255 <BR> <BR> Kernel filter, protocol ALL, datagram packet socket <BR> <BR> tcpdump: listening on all devices <BR> <BR> 15:00:52.066876 eth0 B router.asnc.edu.cn.1997 > 255.255.255.255.1997: udp <BR> 12 <BR> <BR> 15:00:52.066971 eth1 B router.asnc.edu.cn.1997 > 255.255.255.255.1997: udp <BR> 12 <BR> <BR> 15:00:52.213242 eth0 B 202.199.248.99.1025 > 255.255.255.255.1689: udp 140 <BR>0 <BR> <BR> 15:00:52.214023 eth1 B 202.199.248.99.1025 > 255.255.255.255.1689: udp 140 <BR>0 <BR> <BR> 通过设定参数,我们在网络上查询所有的广播信息。同样,我们也可以用src来限定源 <BR>包信息,用port设定端口。在各个限定之间可以用and和or设置关系: <BR> <BR> # tcpdump port 23 and src 202.199.249.2 <BR> <BR> Kernel filter, protocol ALL, datagram packet socket <BR> <BR> tcpdump: listening on all devices <BR> <BR> 15:04:57.489239 eth1 < 202.199.249.2.1029 > linux.asnc.edu.cn.telnet: . 66 <BR>8346:) <BR> <BR> 15:04:57.689206 eth1 < 202.199.249.2.1029 > linux.asnc.edu.cn.telnet: . 0: <BR>0(0) ) <BR> <BR> 在网络出现由于软件问题引起的拥塞的时候,tcpdump是一个非常重要的分析工具。 <BR> <BR> 9.7 账号管理 <BR> <BR> 在第二章我们已经涉及到账号管理的概念,在那里我们涉及的是如何建立和删除一个 <BR>账号,以及对账号进行控制。这里我们要介绍一些比较高级的内容,主要是如何对用户 <BR>进行精确的控制。 <BR> <BR> 一般来说,useradd和adduser程序已经足够好。(这两个程序是一个,adduser只是一 <BR>个指向useradd程序的符号连接),然而你有时仍然需要直接编辑/etc/passwd程序来处 <BR>理一些特殊的问题,比如说给出一个不需要口令的账户,禁止某个用户的登录等等。 <BR> <BR> 在Linux中,你可以直接修改/etc/passwd程序,只要修改后用pwconv程序同步一下pa <BR>sswd和shadow文件的内容,对group程序也是一样。许多参考书上会建议你用vipw命令, <BR>不过它会用那个莫名其妙的vi程序进行编辑,反正我不太喜欢这个。不过vipw程序会自 <BR>动备份/etc/passwd程序,如果你熟悉vi那就是另外一回事了。直接在命令行下输入vip <BR>w就可以起动这个程序。与其它任何需要编辑器的命令一样,可以用EDITOR环境变量来设 <BR>置别的编辑器代替vi程序: <BR> <BR> $EDITOR='/usr/bin/jed' <BR> <BR> $export EDITOR <BR> <BR> 关于直接编辑系统的/etc/passwd和/etc/shadow文件的一个重要理由就是更改用户口 <BR>令的有效期,超过这个有效期之后用户必须更改口令。这个动作可以通过更改/etc/sha <BR>dow文件完成,在/etc/shadow文件中,与这个资料相关的栏目不少,我们可以看一个范 <BR>例的/etc/shadow文件中的一行来解释: <BR> <BR> kzd:$1$YJ1L2VQB$2j8ReLRTmIVSK..edxYG..:11029:12:99999:7:-1:-1:134549420 <BR> <BR> 在/etc/shadow文件中,第一个栏目是用户名字,然后是加密后的用户口令,下面几个 <BR>栏目的意义是这样的: <BR> <BR> 第三栏:从1970年一月一日到用户的口令最近一次修改之间的天数。 <BR> <BR> 第四栏:经过多少天之后,用户应该修改自己的口令。 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -