Chinaunix首页 | 论坛 | 博客
  • 博客访问: 595191
  • 博文数量: 142
  • 博客积分: 10016
  • 博客等级: 上将
  • 技术积分: 1835
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-10 14:30
个人简介

工作中~

文章分类

全部博文(142)

文章存档

2009年(25)

2008年(117)

我的朋友

分类: LINUX

2009-03-27 12:15:58

  *.block1m {padding: 10px 20px 10px 25px; text-align:left }table.term {width: 580px; background-color: #000000;border-style:groove;border-width:3px;border-color: #FFCCCC; margin:10px 0px;}td.term {font: 10pt, Fixedsys, serif; color: #FFFFFF; } *.term_hd {font: 10pt, Fixedsys, serif; color: #BBBBBB; } *.term_note {font: 10pt, Fixedsys, serif; color: #777777; font-weight: normal } *.term_note_b {font: 10pt, Fixedsys, serif; color: #FF77FF; font-weight: bolder } *.term_command {font: 10pt, Fixedsys, serif; color: yellow ; font-weight: bolder } *.term_write {font: 10pt, Fixedsys, serif; color: yellow ; font-weight: normal } *.term_say {font: 10pt, Fixedsys, serif; color: #FF6666; font-weight: normal } *.term_white {font: 10pt, Fixedsys, serif; color: #000000; background-color: #FFFFFF }*.text_h1 {font: 10pt , serif; color: #0000BB; font-weight: bold }
1.
  1.1 ,
  1.2
  1.3
  1.4
  1.5
2. 网络侦错与观察命令
  2.1
  2.2
  2.3
  2.4
  2.5
3. 远程联机命令
  3.1
  3.2
  3.3
  3.4
4. 文本网页浏览
  4.1
  4.2
5. 数据包捕获功能
  5.1
  5.2
  5.3
6. 重点回顾




1.网络参数设置命令:
  • ifconfig:查询、设置网卡与IP网段等相关参数。
  • ifup, ifdown:这两个命令是script,通过更简单的方法来启动网络接口。
  • route:查询、设置路由表(route table)。
  • ip:复合式的命令,可以直接修改上述提到的功能。

1.1 ifconfig, ifup, ifdown
这3个命令的用途都是启动网络接口,不过,ifup与ifdown仅就 /etc/sysconfig/network-scripts内的ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修改网络参数,除非手动调整ifcfg-ethx文件才行。至于ifconfig则可以直接手动给予某个接口IP或调整其网络参数。


  • ifconfig
       ifconfig主要是可以手动启动、观察与修改网络接口的相关参数,可以修改的参数很多,包括IP参数以及MTU等都可以修改,它的语法如下:
    [root@linux ~]# ifconfig {interface} {up|down} //观察和启动接口 [root@linux ~]# ifconfig interface {options}   //设置与修改接口 参数: interface:网卡接口代号,包括eth0, eth1, ppp0等 options:可以接的参数,包括如下:  up或down,启动(up)或关闭(down)该网络接口(不涉及任何参数)    mtu,可以设置不同的MTU数值,例如mtu 1500(单位为byte)   netmask,就是子网掩码;   broadcast:就是广播地址 范例一:观察所有的网络接口(直接输入ifconfig) [root@linux ~]# ifconfig eth0   Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
           inet addr:192.168.10.100  Bcast:192.168.10.255
           Mask:255.255.255.0
           inet6 addr: fe80::20f:eaff:fe73:682/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:3439 errors:0 dropped:0 overruns:0 frame:0
           TX packets:2735 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:646935 (631.7 KiB)  TX bytes:562313 (549.1 KiB)
           Interrupt:209 Memory:fb000000-0
        一般来说,直接输入ifconfig就会列出目前已经被启动的网卡,不论这个卡是否有设置IP,都会被显示出来。如果你想要知道某个网卡的Hardware Address,直接输入“ifconfig ‘网络接口代号’”即可。
    · eth0:网卡的代号,也有lo这个loopback。
    · HWaddr:网卡的硬件地址,习惯称为MAC。
    · inet addr:IPv4的IP地址,后续的Bcase、Mask分别代表的是Broadcast与Netmask。
    · inet6 addr:是IPv6的版本的IP,没有使用,略过。
    · RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets代表数据包数、errors代表数据包发生错误的数量、dropped代表数据包由于有问题而遭丢弃的数量等。
    · TX:与RX相反,为网络由启动到目前为止的传送情况。
    · collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。
    · txqueuelen:代表用来传输数据的缓冲区的储存长度。
    · RX Bytes、TX Bytes:总传送、接收的字节总量。
    · Interrupt、Memory:网卡硬件的数据,IRQ岔断与内存地址。
       通过观察上述的资料,大致上可以了解到你的网络情况,尤其是RX、TX内的error数量,以及是否发生严重的collision情况,都是需要注意的。
    范例二:暂时修改网络接口
    [root@linux ~]# ifconfig eth0 192.168.100.100 # 如果不加任何其他参数,则系统会依照该 IP 所在的 class 范围,自动地计算出 # netmask 以及 network, broadcast 等 IP 参数。 [root@linux ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 \ > mtu 8000  # 设置网络接口,同时设置 MTU 的数值 [root@linux ~]# ifconfig eth0 MTU 9000 # 仅修改该接口的 MTU 数值,其他的保持不动 [root@linux ~]# ifconfig eth0:0 192.168.50.50 # 看这个接口, eth0:0 。就是在该网络接口上,再仿真一个网络接口, # 也就是在一个网卡上面设置多个 IP 的意思 [root@linux ~]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
              inet addr:192.168.10.100 Bcast:192.168.10.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3669 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2892 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:667547 (651.9 KiB)  TX bytes:584799 (571.0 KiB)
              Interrupt:209 Memory:fb000000-0
    eth0:0    Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
              inet addr:192.168.200.2 Bcast:192.168.200.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Interrupt:209 Memory:fb000000-0 # 看是否与硬件有关的信息都相同。均为同一个网卡。 [root@linux ~]# ifconfig eth0:0 down # 关掉 eth0:0 这个接口。如果想要启动 eth1 ,并且不设置任何网络参数 # ifconfig eth1 up 就可以实现 [root@linux ~]# /etc/init.d/network restart # 刚刚设置的数据全部失效,会以 ifcfg-ethx 的设置为主。
       使用ifconfig可以暂时用手动来设置或修改某个适配卡的相关功能,并且也可以通过eth0:0这种虚拟的网络接口来设置一张网卡上面的多个IP。手动的方式是比较简单。而且设置错误也没有关系,因为我们可以利用 /etc/init.d/network restart来重新启动整个网络接口,那么之前手动的设置数据会全部失效。另外,要启动某个网络接口,但又不让它具有IP参数时,直接给它 ifconfig eth0 up即可。这个操作经常在无线网卡当中进行,因为我们需要启动无线网卡让它去检测AP存在与否。
  • ifup, ifdown
  •    实时地手动修改一些网络接口参数,可以利用ifconfig来实现,如果是要直接以配置文件,亦即是在/etc/sysconfig/network- scripts里面的ifcfg-ethx等文件的设置参数来启动的话(debian中在/etc/network/interfaces中),那就得要通过ifdown或ifup来实现了。
    [root@linux ~]# ifup  {interface} [root@linux ~]# ifdown {interface} [root@linux ~]# ifup  eth0
       ifup与ifdown这两个程序其实是script,它会直接到/etc/sysconfig/network-scripts目录下搜索对应的配置文件,例如ifup eth0,它会找出ifcfg-eth0这个文件的内容,然后加以设置。



    1.2 路由修改 route
       两台主机之间一定要有路由才能够互通TCP/IP的协议,否则就无法进行联机。一般来说,只要有网络接口,该接口就会产生一个路由,所以:
    [root@linux ~]# route [-nee] [root@linux ~]# route add [-net|-host] [网段或主机] netmask [mask] [gw|dev] [root@linux ~]# route del [-net|-host] [网段或主机] netmask [mask] [gw|dev] 观察的参数:  -n,不要使用通信协议或主机名称,直接使用 IP 或 Port Number;  -ee,使用更详细的信息来显示; 增加(add)与删除(del)路由的相关参数:  -net,表示后面接的路由为一个网段;  -host,表示后面接的为连接到单台主机的路由;  Netmask,与网段有关,可以设置 netmask 决定网段的大小;  Gw,gateway 的简写,后续接的是 IP 的数值,与 dev 不同;  Dev,如果只是要指定由哪一块网卡联机出去,则使用这个设置,后面接 eth0 等。 范例一:单纯的观察路由状态
    [root@linux ~]# route -n Kernel IP routing table
    Destination    Gateway         Genmask        Flags Metric    Ref   Use  Iface
    192.168.10.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
    0.0.0.0      192.168.10.30     0.0.0.0        UG     0        0      0    eth0
    
    [root@linux ~]# route Kernel IP routing table
    Destination   Gateway           Genmask       Flags Metric    Ref   Use  Iface
    192.168.10.0  *                255.255.255.0   U      0       0      0    eth0
    169.254.0.0   *                255.255.0.0     U      0       0      0    eth0
    default       server           0.0.0.0         UG     0       0      0    eth0
     观察route与route -n的输出结果,加-n参数的主要是显示出IP,使用route,则显示的则是“主机名称”。由上面看,default = 0.0.0.0/0.0.0.0

    · Destination、Genmask:这两个术语就分别是Network与Netmask了。
    · Gateway:该网段是通过哪个Gateway连接出去的?如果显示0.0.0.0表示该路由是直接由本机传送,亦即可以通过局域网的MAC直接传输;如果有显示IP的话,表示该路由需要经过路由器(网关)的帮忙才能够传送出去。
    · Flags:总共有多个标记,代表的意义如下:
      U(route is up):该路由是启动的;
      H(target is a host):目标是一台主机(IP)而非网段;
      G(use gateway):需要通过外部的主机来传递数据包;
      R(reinstate route for dynamic routing):使用动态路由时,恢复路由信息的标记;
      D(dynamically installed by daemon or redirect):已经由服务器或转port功能设置为动态路由;
      M(modified from routing daemon or redirect):路由已经被修改了;
      !(reject route):这个路由将不会被接受(用来阻止不安全的网段)。
    · Iface:这个路由传递数据包的接口。

    观察一下上面的路由排列顺序,依序是由小网段(192.168.10.0/24是Class C),逐渐到大网段(169.254.0.0/16 是Class B),最后则是默认路由(0.0.0.0/0.0.0.0)。然后要判断某个网络数据包应该如何传送的时候,该数据包会经由这个路由的过程来判断。 如,上头仅有三个路由,若有一个数据包传往192.168.10.20,那首先会找192.168.10.0/24这个网段的路由,找到了,就直接由eth0传送出去。
       如果传送到Yahoo的主机?Yahoo的主机IP是202.43.195.52,通过判断不是192.168.10.0/24,也不是169.254.0.0/16,结果到达0/0时,传出去了,通过eth0将数据包传给192.168.10.30那台Gateway主机。因此,路由是有顺序的
       当设置多个同样的路由时,例如,在主机上的两张网卡设置为相同网段的IP时,会出现如下的情况:
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0 192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
    就是说,由于路由是依照顺序来排列与传送的,所以不论数据包是由哪个接口(eth0、eth1)所接收,都会由上述的eth0传送出去,所以,在一台主机上面设置两个相同网段的IP本身没有什么意义。除非是类似虚拟主机(Xen、VMware等软件)所架设的多主机,才会有这个必要。
    范例二:路由的增加与删除
    [root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0 # 上面这个操作可以删除掉 169.254.0.0/16 这个网段 # 请注意,在删除的时候,需要将路由表上面出现的信息都写入 # 包括netmask、dev 等参数 [root@linux ~]# route add -net 192.168.100.0  netmask 255.255.255.0 dev eth0 # 通过 route add 来增加一个路由。请注意,这个路由必须能够与你互通 # 例如,如果我下达下面的命令就会显示错误: # route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254 # 因为我的环境内仅有 192.168.10.100 这个IP ,所以不能与 192.168.200.254 # 这个网段直接使用 MAC 互通  [root@linux ~]# route add default gw 192.168.10.30 # 增加默认路由的方法。请注意,只要有一个默认路由就够了 # 在这个地方如果你随便设置后,记得使用下面的命令重新设置你的网络 # /etc/init.d/network restart
    如果是要进行路由的删除与增加,可以参考上面的例子,使用man route里面的信息就很丰富了。当出现“SIOCADDRT: Network is unreachable”这个错误时,肯定是由于gw后面接的IP无法直接与你的网段沟通(Gateway并不在你的网段内),所以,赶紧检查一下输入的信息是否正确。
    阅读(322) | 评论(0) | 转发(0) |
    0

    上一篇:bugzilla使用手册

    下一篇:没有了

    给主人留下些什么吧!~~