UNIX TCP/IP配置与检测

UNIX TCP/IP配置与检测
2010年12月14日
  Unix是最早的TCP/IP载体,以致一段时间人们认为TCP/IP和Unix是一回事。现在,几乎所有的Unix系统都内置有TCP/IP协议栈。
  1) 配置网络接口:
  ifconfig interface address netmask address broadcast address [up | down]
  2) 标准网络配置文件:
  /etc/hosts:机器名字和IP地址对应表
  IP地址 正式名别名
  166.111.4.11 train www
  /etc/protocols:定义协议名称与端口
  协议名 端口号协议别名
  ip 0 IP
  icmp 1 ICMP
  tcp 6 TCP
  /etc/services:网络服务文件,定义服务的端口号和协议。
  服务名 端口号/协议进程名
  ftp 21/tcp
  smtp 25/tcp mail
  name 42/udp nameserver
  /etc/inetd.conf:超级服务器配置文件,超级服务器inetd在倾听端口的请求时,如果接收到一个请求,它就根据inetd.conf中的信息去启动daemon。
  service-name socket-type proto wait-status user server-pathname
  ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd -1
  pop3 stream tcp nowait root /usr/sbin/popper popper -s
  /etc/networks:网络名文件
  网络名 网络地址
  loopback 127
  pxb.cic.tsinghua.edu.cn 166.111.6
  /etc/netmasks:网络(子网)掩码文件
  网络地址(现在必须是真正的A、B、C类地址) 掩码
  166.111.0.0 255.255.252.0
  3) SUN Solaris网络配置实例
  ?? /etc/hostname.le0
  train
  ?? /etc/hosts
  127.0.0.1 train localhost loghost
  166.111.4.11 train
  ?? /etc/netmasks
  166.111.0.0 255.255.252.0
  ?? /etc/defaultrouter
  166.111.4.1
  ?? /etc/resolv.conf
  domain pxb.cic.tsinghua.edu.cn
  nameserver 127.0.0.1
  nameserver 166.111.4.5
  nameserver 166.111.8.11
  ?? /etc/nsswitch.conf
  …
  hosts: files dns 1) ping ping(Packet InterNet Groper)的意思是网际包探测器。它是一个TCP/IP应用程序,其作用是检测网络中的其它机器是否可到达。ping程序的原理很简单,它向指定机器发送一个ICMP(Internet Control Message Protocol) ECHO-REQUEST的请求包,以期获得一个从对方返回的ICMP ECHO-RESPONSE包。但是,Ping却是应用最为广泛的Internet程序之一,用户在测试、管理网络时,或者检测网络或远程主机时,最先使用的工具可能就是Ping。
  Ping的使用也很简单,指定主机名执行它,如果远程主机相应,则说明远程主机在网络上可达到,否则,说明两者间网络有故障。
  当我们配置好一台计算机的网络后,第一条命令可能就是:
  $ ping localhost
  localhost is alive
  这表示网络功能配置好了,但这并不意味着网络就能正常工作了,因为localhost实际对应的是内部回送地址,它并不对应实际的硬件设备,因此当向localhost发送请求时,核心并不把报文发送到网络,而是直接处理。如果网络没有配置好,将有信息:
  $ ping localhost
  no answer from localhost
  接下来ping自己的主机名,如ulrra1,如果正确,显示:
  $ ping ulrra1
  ulrra1 is alive
  如果不可到达,则需检查接口配置,可用ifconfig检查。如果正常,再ping其它机器,如ncr3550:下面是Ping程序的执行时的显示结果:
  /u/jdx>ping ncr3550
  PING ncr3550.cic.tsinghua.edu.cn (166.111.4.3): 56 data bytes
  64 bytes from 166.111.4.3: icmp_seq=0 ttl=255 time=2 ms
  64 bytes from 166.111.4.3: icmp_seq=1 ttl=255 time=2 ms
  64 bytes from 166.111.4.3: icmp_seq=2 ttl=255 time=2 ms
  64 bytes from 166.111.4.3: icmp_seq=3 ttl=255 time=3 ms
  ^C
  --- ncr3550.cic.tsinghua.edu.cn ping statistics ---
  4 packets transmitted, 4 packets received, 0% packet loss
  round-trip min/avg/max = 2/2/3 ms
  Ping程序可能提供一些选项,如指定连续包发送间隔时间,另外,它也可能接受指定的包长与数量,如命令:
  /u/jdx>ping -i2 ncr3550 120 3
  将以每隔2秒发送一个数据长度为120字节的包3个,其显示结果如下:
  PING ncr3550.cic.tsinghua.edu.cn (166.111.4.3): 120 data bytes
  128 bytes from 166.111.4.3: icmp_seq=0 ttl=255 time=3 ms
  128 bytes from 166.111.4.3: icmp_seq=1 ttl=255 time=2 ms
  128 bytes from 166.111.4.3: icmp_seq=2 ttl=255 time=3 ms
  --- ncr3550.cic.tsinghua.edu.cn ping statistics ---
  3 packets transmitted, 3 packets received, 0% packet loss
  round-trip min/avg/max = 2/2/3 ms
  2) arp arp是TCP/IP实用程序,它用来获取指定计算机的MAC地址,如:
  $ arp rs6000
  rs6000 (166.111.4.5) at 8:0:5a:c7:bd:3d
  另外,使用-a选项可查看本计算机缓冲的所用IP-MAC地址对捆扎。如:
  $ arp -a
  Net to Media Table
  Device IP Address Mask Flags Phys Addr
  ------ -------------------- --------------- ----- ---------------
  le0 rs6000 255.255.255.255 08:00:5a:c7:bd:3d
  le0 router.cic.tsinghua.edu.cn 255.255.255.255 08:00:02:0a:94:27
  le0 sys2.cic.tsinghua.edu.cn 255.255.255.255 00:aa:00:b8:ed:3c
  le0 ibmpc16.cic.tsinghua.edu.cn 255.255.255.255 00:aa:00:b8:49:59
  le0 ibmpc14.cic.tsinghua.edu.cn 255.255.255.255 10:00:5a:ba:41:4f
  le0 astpc129.cic.tsinghua.edu.cn 255.255.255.255 00:a0:24:19:ae:a9
  使用-d选项可删除本计算机缓冲的所用IP-MAC地址对捆扎
  $ arp -d hostname
  使用-s选项可设置本计算机缓冲的所用IP-MAC地址对捆扎
  $ arp -s ether hostname ether_addr [temp] [pub] 3) ifconfig ifconfig是TCP/IP实用程序,它用来配置网络接口,为接口分配一个IP地址,或者定义网络子网掩码和广播地址,并可关闭或打开网络接口。请常见用法为:
  ifconfig interface address netmask address broadcast address [up | down]
  如:
  ifconfig le0 166.111.4.11 netmask 255.255.252.0 broadcast 166.111.7.255 up
  如果要查看某个接口的当前配置,可用ifconfig后跟参数接口名称,如:
  $ ifconfig le0
  le0: flags=863 mtu 1500
  inet 166.111.4.11 netmask fffffc00 broadcast 166.111.7.255 4) netstat netstat是一个用来显示工作站网络接口统计量的实用程序。它显示的信息与命令选项有关,下面介绍几个常用选项。
  要得到计算机每个网络接口的一行摘要信息,可以使用-i选项,格式如下:
  $ netstat -i
  Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
  lo0 8232 loopback localhost 82 0 82 0 0 0
  le0 1500 tunet.tsinghua.edu.cn ulrra1 7497 0 371 1 0
  如果Queue不为零,则不能发送报文,这是网络线路有问题的症状。Ierrs和Oerrs不必一定为零,但必须很低,大于100,就表示有问题,比如网络太拥挤。
  要获得本计算机的路由信息,可以使用-rn选项,如下所示:
  $ netstat -rn
  Routing Table:
  Destination Gateway Flags Ref Use Interface
  -------------------- -------------------- ----- ----- ------ ---------
  127.0.0.1 127.0.0.1 UH 0 4 lo0
  166.111.4.0 166.111.4.11 U 3 10 le0
  224.0.0.0 166.111.4.11 U 3 0 le0
  default 166.111.4.1 UG 0 12
  要获得详细的有关计算机网络通信的信息,可以使用-s选项:
  $ netstat -s
  UDP
  udpInDatagrams = 12 udpInErrors = 0
  udpOutDatagrams = 20
  TCP tcpRtoAlgorithm = 4 tcpRtoMin = 200
  IP ipForwarding = 2 ipDefaultTTL = 255
  ipInReceives = 113 ipInHdrErrors = 0
  ipInAddrErrors = 0 ipInCksumErrs = 0
  ICMP icmpInMsgs = 4 icmpInErrors = 0
  icmpInCksumErrs = 0 icmpInUnknowns = 0 5) route usage: route [-n] [-f] [ cmd [ net | host ] args ] route cmd dst-addr gateway hop 分配静态路由
  route add 166.111.4.0 166.111.4.11 1
  配置默认路由
  route add default 166.111.4.1 1 6) nslookup nslookup是一个从域名服务器中查询域名信息的Internet工具,许多TCP/IP软件包中都包含该程序。最通常的一个用法是由机器的IP地址获取其主机名,或者相反。如果用户所在的系统不能解析Internet上某些机器的名字,使用nslookup将有助于查找错误。
  nslookup的语法为:
  nslookup [ -Option ... ] [ Host ] [ -NameServer ]
  其中,Option表示查询选项,用来设置查询信息的类型、查询方式、缺省域名、超时间隔等;Host表示待查主机的IP地址或主机名;NameServer表示要从哪个域名服务器上进行查找。Host和NameServer称为nslookup命令的参数。
  使用nslookup有两种方式:交互方式和非交互方式。当nslookup后没有参数,或者第一个参数为一个"-",第二个参数为域名服务器的主机名或IP地址时,进入交互方式;否则进入非交互方式。交互方式给用户以更多的自由度,可以查询机器的各种信息,或者列出属于某个域的所有主机;而非交互方式只能从缺省域名服务器中查询给定主机的名字或IP地址。使用exit子命令或Ctrl-d组合键可以退出交互会话。
  上面的语法和下面的例子是在Unix操作系统中的情况。不同的操作系统下该命令的具体使用方法或支持的子命令可能会有所区别,甚至完成同样功能的命令名也可能不叫nslookup。在交互会话中,随时可以使用Ctrl-C键终止相应子命令的执行。
  [b] [/b][b] 例1: [/b]% nslookup hpc.sp.net.edu.cn Server: cw.sp.net.edu.cn Address: 202.112.32.254 Name: hpc.sp.net.edu.cn Address: 202.112.32.3 % 命令行中hpc.sp.net.edu.cn是用户登录到CERNET高性能计算中心的大型机时使用的主机名。该命令显示缺省的域名服务器和给定主机的IP地址后退出。
  [b] [/b][b] 例2: [/b]% nslookup Default Server: cw.sp.net.edu.cn Address: 202.112.32.254 > hpc.sp.net.edu.cn Server: cw.sp.net.edu.cn Address: 202.112.32.254 Name: hpc.sp.net.edu.cn Address: 202.112.32.3 > help Commands: (identifiers are shown in uppercase, [] means optional) NAME - print info about the host/domain NAME using default server NAME1 NAME2 - as above, but use NAME2 as server help or ? - print info on common commands; see nslookup(1) for details set OPTION - set an option all - print options, current server and host [no]debug - print debugging information [no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recurse - ask for recursive answer to query [no]vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc. root=NAME - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds querytype=X - set query type, e.g., A, ANY, CNAME, HINFO, MX, NS, PTR, SOA, WKS type=X - synonym for querytype class=X - set query class to one of IN (Internet), CHAOS, HESIOD or ANY server NAME - set default server to NAME, using current default server lserver NAME - set default server to NAME, using initial server finger [USER] - finger the optional USER at the current default host root - set current default server to the root ls [-t TYPE] - list records of the given type (e.g., A, CNAME, MX) view FILE - sort an 'ls' output file and view it with more > set all Default Server: cw.sp.net.edu.cn Address: 202.112.32.254 Set options: nodebug defname search recurse nod2 novc noignorec
  query=HINFO class=IN timeout=5 retry=4 root=ns.nic.ddn.mil. domain=sp.net.edu.cn srchlist=sp.net.edu.cn/net.edu.cn/edu.cn > set type=ANY > www.mhpcc.edu Server: cw.sp.net.edu.cn Address: 202.112.32.254 Non-authoritative answer: www.mhpcc.edu canonical name = wailea.mhpcc.edu Authoritative answers can be found from: MHPCC.EDU nameserver = MAUI.MHPCC.edu MHPCC.EDU nameserver = NIS.ANS.NET MHPCC.EDU nameserver = NS.ANS.NET MAUI.MHPCC.edu inet address = 164.122.7.32 NIS.ANS.NET inet address = 147.225.1.2 NS.ANS.NET inet address = 192.103.63.100 > server 202.112.0.34 Default Server: ns1.net.edu.cn Address: 202.112.0.34 > sp.net.edu.cn Server: ns1.net.edu.cn Address: 202.112.0.34 Non-authoritative answer: sp.net.edu.cn nameserver = CWS.sp.net.edu.cn sp.net.edu.cn canonical name = cw.sp.net.edu.cn Authoritative answers can be found from: sp.net.edu.cn nameserver = CWS.sp.net.edu.cn CWS.sp.net.edu.cn inet address = 202.112.32.254 > exit % 例2中使用不带参数的nslookup命令进入交互方式。首先显示出的是缺省域名服务器cw.sp.net.edu.cn,当前域为sp.net.edu.cn。然后我们仍旧输入hpc.sp.net.edu.cn,nslookup将返回它的IP地址。使用help或?子命令可以获取帮助信息。set all子命令可以列出当前所有选项的设置情况,可以看出query(也称为querytype或type)的值为HINFO,例中使用set type=ANY子命令将该选项的值改为ANY,表示查询某主机的所有信息,包括IP地址、主机名、域名服务器、域名、Mail Exchanger、SOA记录等。接着我们在该状态下查询美国MAUI的某个主机www.mhpcc.edu,由于当前缺省域名服务器cw.sp.net.edu.cn上并不直接包含www.mhpcc.edu信息,因而返回的是Non-authoritative 答案,同时列出了包含www.mhpcc.edu权威信息的所有域名服务器。最后我们将缺省域名服务器改为CERNET的最高域名服务器202.112.0.34,并查询sp.net.edu.cn域的信息后退出nslookup会话。 7) traceroute traceroute是一个通用的TCP/IP工具,它能显示出数据包从本地机到达目标机时经过的所有路由器。由于traceroute会人为地给网络造成一些通信负担,所有它主要被系统或网络管理员,作为一个简单而有效的网络手工查错工具使用,普通用户最好少用。尽管如此,traceroute对于用户了解Internet的结构,了解自身的网络故障会有很大帮助。
  下面给出的语法和例子都是在Unix操作系统下的情况,在其它操作系统中,该命令可能有不同的使用方法或表示,例如在Windows NT和Windows 95下,类似的命令叫tracert。
  traceroute的语法为:
  traceroute [-m Max_ttl] [-n ] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr]
  [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize]
  其中, -m Max_ttl:指定最大生存期(Maximum Time-to-live)。也就是数据包从本地机到达目标机所经过的最大跳步(hop),即最多经过这么多路由器。缺省值为30步。
  -n:只显示途径路由器的IP地址,不再显示其名字。
  -p:指定包传输时使用的UDP端口号。
  -q:指定每次跳步发送的探询包的数目,缺省值为3。
  -v:列出详细信息。
  -w WaitTime:指定每次跳步等待接收响应包的最长时间,缺省值为3秒。
  Host:目标机的IP地址或机器名。
  PacketSize:指定每个跳步传输的数据包的大小,缺省值为38个字节。 traceroute实际上是通过给目标机的一个非法UDP端口号发送一系列UDP数据包来工作的。使用缺省设置时,本地机给每个路由器发送3个数据包,最多可经过30个路由器。如果已经经过了30个路由器,但还未到达目标机,那么traceroute将终止。每个数据包都对应一个Max_ttl值,同一跳步的数据包该值一样,不同跳步的数据包的值从1开始,每经过一个跳步值加1。当本地机发出的数据包到达路由器时,路由器就响应一个ICMP Time Exceed消息,于是traceroute就显示出当前跳步数,路由器的IP地址或名字,3个数据包分别对应的周转时间(以ms为单位)。如果本地机在WaitTime内未收到响应包,那么在数据包的周转时间栏就显示出一个星号。当一个跳步结束时,本地机根据当前路由器的路由信息,给下一个路由器又发出3个数据包,周而复始,直到收到一个ICMP PORT_UNREACHABLE的消息,意味着已到达目标机,或者已达到指定的最大跳步数。 % traceroute www.cnc.ac.cn traceroute to www.cnc.ac.cn (159.226.1.17), 30 hops max, 40 byte packets 1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms 2 202.112.1.210 (202.112.1.210) 4 ms 2 ms 2 ms 3 202.38.96.1 (202.38.96.1) 3 ms 2 ms 2 ms 4 159.226.1.17 (159.226.1.17) 3 ms 2 ms 2 ms 例中www.cnc.ac.cn是中科院的WWW服务器,本地机是CERNET高性能计算中心SP2的一个节点机。首先从SP2连到CERNET的HUB(202.112.35.254)出去,然后经过CERNET和CASnet的路由器到达目标服务器。可以看到,数据包的平均周转时间为2ms,这是相当快的速度了。 % traceroute www.mhpcc.edu traceroute to wailea.mhpcc.edu (164.122.9.37), 30 hops max, 40 byte packets 1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms 2 202.112.1.198 (202.112.1.198) 7 ms 11 ms 4 ms 3 us-igw.net.edu.cn (202.112.1.206) 45 ms 54 ms * 4 gsl-stock-3-Serial10/4.gsl.net (204.59.160.245) 554 ms 552 ms 575 ms 5 gsl-sl-stock-fddi.gsl.net (204.59.128.198) 559 ms 553 ms 551 ms 6 sl-mae-w-H3/0-T3.sprintlink.net (144.228.10.110) 562 ms 557 ms 564 ms 7 mae-west.dren.net (198.32.136.81) 571 ms 622 ms 587 ms 8 wahiawa-nctams.dren.net (138.18.232.2) 677 ms 617 ms 621 ms 9 maui.dren.net (138.18.236.1) 611 ms 649 ms 629 ms 10 bcn77-f11-7.mhpcc.edu (164.122.7.7) 613 ms 608 ms 610 ms 11 wailea.mhpcc.edu (164.122.9.37) 622 ms 617 ms * 要到达MHPCC的WWW服务器,在第3跳步到达CERNET通往美国的路由器,然后经过Sprint公司的其它路由器在第8跳步到达Hawaii,最后经过Maui的路由器到达目标节点。可以看出,从本地机发往国内几个路由器的周转时间为几十ms,到达美国后猛增到500多ms。
  转:http://learn.tsinghua.edu.cn/kejian/data/9281/5484 1/tcpip/TCP/TCPJCYPZ.htm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值