|
最近更新日期:2003年09月19日
网络参数设定指令: ifconfig, ifup, ifdown, route, 一些网络侦错指令: ping, traceroute, 网络观察与查询: netstat, host, nslookup, 远程联机使用指令: telnet, ftp, ncftp, 文字界面网页浏览: lynx, wget, 终端机的中文显示: jmcce 计划 连不上一些网站的处理方法 MTU 修改 课后练习: 参考数据 大标题的图示网络参数设定指令
ifup,ifdown:启动与关闭某个网络适配器 route :显示/修改路由表( route table ) ifconfig 设定网络参数使用的指令 语法: [root@test
test]# ifconfig interface
说明:
[root@test test]# ifconfig interface [options] 参数说明: interface :网络适配器代号,例如 eth0, eth1... options :主要有以下几个参数 network :网段 broadcast :广播网段 netmask :子网掩码 up|down :启动|关闭网络接口 范例: [root@test root]# ifconfig # 这个指令在没有加上网络卡时,会将所有的网络接口内容显示出来 eth0 Link encap:Ethernet HWaddr 00:50:FC:22:9C:57 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5793395 errors:0 dropped:0 overruns:0 frame:0 TX packets:6032143 errors:0 dropped:0 overruns:0 carrier:0 collisions:983 txqueuelen:100 RX bytes:534796148 (510.0 Mb) TX bytes:2607882970 (2487.0 Mb) Interrupt:10 Base address:0x6100 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:3258 errors:0 dropped:0 overruns:0 frame:0 TX packets:3258 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:170063 (166.0 Kb) TX bytes:170063 (166.0 Kb) [root@test root]# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 \ > broadcast 192.168.0.255 上面再将 eth0 这个网络接口的 IP 属性修改为 192.168.0.2 这个 IP ,广播地址也跟着改变了! [root@test root]# ifconfig eth0 # 将修改完的咚咚显示出来一下! eth0 Link encap:Ethernet HWaddr 00:50:FC:22:9C:57 inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5793395 errors:0 dropped:0 overruns:0 frame:0 TX packets:6032143 errors:0 dropped:0 overruns:0 carrier:0 collisions:983 txqueuelen:100 RX bytes:534796148 (510.0 Mb) TX bytes:2607882970 (2487.0 Mb) Interrupt:10 Base address:0x6100 [root@test root]# ifconfig eth0 down <==关闭 eth0 网络卡 [root@test root]# ifconfig eth0 up <==启动 eth0 网络卡! ifconfig 这个东西也很好玩!尤其是您在您的网络卡尚未设定完成的时候,而且确定网络卡已经成功的驱动了之后,可以使用这个指令来驱动您的网络卡呦!另外,他的最大用处其实是来自于可以查看您的网络适配器的参数啦!所以最常使用的就是直接输入『 ifconfig 』或者是『 ifconfig eth0 』或者是『 ifconfig ppp0 』等等的用法!倒是不建议直接用来修改您的网络卡啦!不过,如果确定要使用 ifconfig 来修改您的网络适配器,那么可以参考上面的例子来修改呦!同时, ifconfig 也是用来做成『多 IP 』的主要指令呢!好了,我们来谈一谈上面几个简单的项目内容吧! 总而言之, ifconfig 也是一个很好用的指令啦!但是有一点必须要清楚的,那就是 ifconfig eth0 up 或者是 ifconfig eth0 down 可以使用 ifup eth0 或 ifdown eth0 来替代!不过有一点必须要先说明的,那就是 ifup 与 ifdown 是以 /etc/sysconfig/network-scripts/ifcfg-ethn 的档案来进行启动的!所以 ifcfg-eth0 必须存在才能使用 ifup !OK!底下马上来说说 ifup, ifdown。 ifup, ifdown 启动与关闭某个网络适配器 语法: [root@test
root]# ifup [interface]
说明:
[root@test root]# ifdown [interface] 参数说明: 范例: [root@test root]# ifup eth0 <==启动 eth0 这块网络卡! [root@test root]# ifdown eth0<==关闭 eth0 这块网络卡 手动修改网络参数使用 ifconfig ,但是档案设定的启动与关闭就得使用 ifup 与 ifdown 啰。这两个指令要比 ifconfig 简单的多!不过他却必须要有相关的档案存在才能启动呦!举个例子来说,上面我们要启动 eth0 这块网络卡的时候,那么您的 Linux 系统当中就必须要存在 /etc/sysconfig/network-scripts/ifcfg-eth0 这个网络适配器的配置文件案才行!同理可证!如果要启动 eth1 ,除了存在 eth1 这个实体网络卡之外,还要存在 ifcfg-eth1 才行!请确实了解呦!因为后面关于 Linux Router 的章节当中,我们提到的一张网卡多 IP 就是用这个观念来达成的! route 显示/修改路由表( route table ) 语法: [root@test
root]# route [-nee]
说明:
[root@test root]# route add [-net|-host] 目标主机或网域 [netmask] [gw|dev] [root@test root]# route del [-net|-host] 目标主机或网域 [netmask] [gw|dev] 参数说明: -n :列出的信息以 IP 来显示 -ee :列出较长列的信息 add :增加路由信息 del :删除一个路由信息 -net :增加一个『网域』的路由,例如 C Class 的网域! -host :增加到某个 IP 主机的路由! netmask :就是 netmask 呀! gw :这个是路由的通讯闸! gw 是以 IP 来建置的 dev :这个是路由的通讯闸! dev 是以 界面 ( internet ) 代号来建置的! 范例: [root@test root]# route<==看路由的信息! Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 140.116.141.253 * 255.255.255.255 UH 0 0 0 ppp0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 140.116.141.253 0.0.0.0 UG 0 0 0 ppp0 [root@test root]# route -n <==以 IP 的方式来显示路由! Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 140.116.141.253 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 140.116.141.253 0.0.0.0 UG 0 0 0 ppp0 注意到 route, route -n 这两个范例喔!使用 -n 与否会使 domain 是否进行查询, 一般来说,我都喜欢加上 -n 的,因为不必去查询正反解,显示速度较快, 此外, default gateway 就是 0.0.0.0 喔! [root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0 # 新增一个路由规则! [root@test root]# route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0 # 删除一个路由啰 [root@test root]# route add default gw 192.168.1.2 # 增加一个 default gateway 呢! 注意一下, gw 后面接的是 IP ,而 dev 后面接的则是装置代号喔! 这个指令相当的有用!尤其是新手们最容易犯错的 gateway 设定错误的问题,都可以藉由这一个指令来检查呢!这个指令有两个主要的用途: 我们来谈一谈使用 route 时,显示的内容意义: 好了,那么如何增加或删除路由呢!就由上面的例子就可以知道啦!很简单的啦!不过需要注意的是,单纯有路由功能还不够!因为还需要有 router 的功能才行!我们将在 router 那个章节再来持续谈一谈这个问题啰!『注:当您发现下达 route 的时候,显示的速度很慢时,通常是您的路由信息有一定的问题存在!果真如此的话,请务必仔细的检查一下设定,否则对于您的网络速度会有迟滞现象呦!』 大标题的图示一些网络侦错指令
traceroute :调查连接到某部主机时,每个节点的连接速度 底下分别来谈一谈先! ping 传送一个 ICMP 封包给某部主机 语法: [test@test
test]# ping [-b broadcast]
说明:
[test@test test]# ping [-c number] host 参数说明: -b broadcast :当要 ping 一个网段时,可以使用这个方式来『广播』! -c number :后面加上 number (数字)可以限制 ping 几次! 范例: [test@test test]# ping -c 5 tw.yahoo.com <==除了IP也可以 ping domain name! PING tw.yahoo.com (202.1.237.21) from 61.28.113.1 : 56(84) bytes of data. 64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=0 ttl=245 time=7.133 msec 64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=1 ttl=245 time=7.497 msec 64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=2 ttl=245 time=6.625 msec 64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=3 ttl=245 time=6.457 msec 64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=4 ttl=245 time=6.434 msec --- tw.yahoo.com ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/mdev = 6.434/6.829/7.497/0.421 ms [test@test test]# ping -b 192.168.1.255 -c 2 <==这里必须是广播地址 WARNING: pinging broadcast address PING 192.168.1.255 (192.168.1.255) from 192.168.1.254 : 56(84) bytes of data. 64 bytes from 192.168.1.36: icmp_seq=0 ttl=255 time=191 usec 64 bytes from 192.168.1.45: icmp_seq=0 ttl=255 time=492 usec (DUP!) 64 bytes from 192.168.1.254: icmp_seq=0 ttl=255 time=531 usec (DUP!) --- 140.116.44.255 ping statistics --- 2 packets transmitted, 2 packets received, +6 duplicates, 0% packet loss round-trip min/avg/max/mdev = 0.134/0.811/2.094/0.647 ms 这个东西好用的很!不论在哪一个操作系统当中,他都是相当有用的网络侦错指令!例如您要侦测一下您的网络卡是否正确的备执行了,可以使用『ping your.NIC.IP.address 』来查阅!当然啰!加上次数更好:『ping -c 5 your.NIC.IP.address 』!无论如何,这个指令一定要记得的啦! traceroute 调查连接到某部主机时,每个节点的连接速度 语法: [root@test
root]# traceroute [-i interface] [-g gateway]
[host|IP]
说明:
参数说明: -i :使用这个 interface 来连出去!例如 eth0, ppp0 等! -g :使用这个 gateway 来连出去!例如 192.168.1.2, 140.116.141.29 等! 范例: [root@test root]# traceroute tw.yahoo.com traceroute to tw.yahoo.com (202.1.237.21), 30 hops max, 38 byte packets 1 140.116.141.253 (140.116.141.253) 123.958 ms 96.357 ms 97.810 ms 2 140.116.140.253 (140.116.140.253) 103.548 ms 87.607 ms 78.227 ms 3 163.28.112.253 (163.28.112.253) 99.522 ms 84.379 ms 79.858 ms 4 210.242.251.246 (210.242.251.246) 104.429 ms 86.622 ms 79.857 ms 5 211.22.226.50 (211.22.226.50) 97.897 ms 86.031 ms 87.177 ms 6 TaiPei-TANET-P1.BR.HiNet.NET (168.95.207.242) 101.981 ms 58.149 ms 60.231 ms 7 168.95.17.162 (168.95.17.162) 69.198 ms 63.294 ms 58.594 ms 8 210.65.200.10 (210.65.200.10) 65.950 ms 67.336 ms 63.503 ms 9 211.22.35.169 (211.22.35.169) 67.572 ms 92.535 ms 83.105 ms 10 211.22.41.89 (211.22.41.89) 106.855 ms 92.540 ms 87.201 ms 11 alteon6.tpe.yahoo.com (202.1.237.253) 122.347 ms 92.235 ms 91.266 ms 这个指令相当的有用途,他可以用来判断当一部远程主机无法联机时候,到底封包是停顿在哪一个节点上!因为很多时候,您常常会发现『咦!网络速度怎 么变慢了?』然后自己的主机似乎没有问题呀!这个时候就可以使用这个指令查检查一下,是否在联机的过程当中,有些节点被挡下来了呢?!很好用的啦!不过, 万一如果出现了 *** 在 traceroute 的输出结果中,那就表示该 router 应该有点问题吶!得赶紧向上头报告去维修喔! 大标题的图示网络观察与查询
host :显示主机名( domain name ) nslookup :调查主机名对应的 IP ! netstat 查阅网络信息的指令 语法: [root@test
root]# netstat [-r] [-i interface]
说明:
[root@test root]# netstat [-antulp] 参数说明: -r :显示出 route 的意思; -i :显示出 interface 的内容,跟 ifconfig 类似啦! -a :显示出目前所有的网络联机状态! -n :默认情况中,显示出的 host 会以 host name 来显现,若为 n 则可以使 port 与 host 都以数字显示 -t :仅显示 tcp 封包的联机行为 -u :仅显示 udp 的封包联机状态 -l :仅显示 LISTEN 的内容 -p :同时显示此一联机的 PID 喔!(注意:只有 root 才能行使此功能!) 范例: [root@test root]# netstat -r # 嘿嘿!显示出目前的路由表!与 route 指令的功能相同。 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 140.116.141.253 * 255.255.255.255 UH 40 0 0 ppp0 192.168.1.0 * 255.255.255.0 U 40 0 0 eth0 192.168.0.0 * 255.255.255.0 U 40 0 0 eth0 127.0.0.0 * 255.0.0.0 U 40 0 0 lo default 140.116.141.253 0.0.0.0 UG 40 0 0 ppp0 [root@test root]# netstat -i eth0 # 看看底下显示出的内容,是否跟 ifconfig eth0 类似呀!? Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 077199373 0 0 169616342 0 0 0 BMRU lo 16436 0 1130485 0 0 0 1130485 0 0 0 LRU [root@test root]# netstat -an<==显示所有的联机状态,并且以数字型态显示 [root@test root]# netstat -tul <==显示 LISTEN 的及 tcp 与 udp 的联机状态,如下: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 *:pop3 *:* LISTEN tcp 0 0 *:http *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:smtp *:* LISTEN udp 0 0 *:netbios-ns *:* 注意:上面的 LISTEN 表示该 port 是已经在 监听 网络服务啦!而左边的 tcp 指的是 tcp 封包! [root@test root]# netstat -anp | more <==这个指令很常下达!请记得呦! netstat 可是很了不起的指令,一定要学会的!尤其他可以让我们了解目前的您的主机的联机状态!与开启的 port 有哪些!所以一定得学会才行呀!如果您分别下达: 一定会发现有点奇怪?怎么有的 port 会以服务名称(例如上面例子里的 pop3 ...)有的会以 port 号码来显示呢!?嘿嘿!那就是 /etc/services 以及 -n 这个参数的用途啦!您可以发现的是,如果 netstat -a 时,显示出来的 port 号码在 /etc/services 存在对应的服务名称的时候,那么默认他就会显示出该服务名称啦!但是若在 /etc/services 找不到档案的话,那么自然就还是以 port 号码来显示的!那么加上了 -n 参数后,不论如何,他都会以 port 及 IP 来显示啦! 另外,那个 -p 也很有用呦!尤其是在一些莫名其妙的联机出现时,可以用 -p 这个参数查到 PID ,然后再以利用 kill 来杀掉他呦! 善用 netstat 可以查得相当多的网络信息!尤其在关闭本机的 port 时! host 显示主机名( domain name ) 语法: [root@test
root]# host [-a] domain_name
说明:
参数说明: -a :显示出所有的信息 范例: [root@test root]# host tw.yahoo.com <==仅显示出主机的 IP tw.yahoo.com. has address 202.1.237.21 [root@test root]# host -a tw.yahoo.com <==所有的主机信息显示! Trying "tw.yahoo.com." ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59138 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 5 ;; QUESTION
SECTION:
;; ANSWER SECTION:
;; AUTHORITY
SECTION:
;; ADDITIONAL
SECTION:
Received 216 bytes from 163.28.112.1#53 in 10 ms 这个功能跟 nslookup 几乎是相同的!但是 nslookup 多了较多的功能就是了!我们使用这个指令时,系统会自动去找 /etc/resolv.conf 底下设定的 DNS 的 IP,然后根据该 IP 来侦测我们所想要知道的主机对应的 IP 咯!那么多了 -a 之后显示出来的讯息是什么?嘿嘿!别担心,在我们后续的 DNS 架设当中就会提到啦!有点耐心的往下看呦! nslookup 查询主机名与 IP 的对应 语法: [root@test
root]# nslookup [domain_name|IP]
说明:
参数说明: 范例: [root@test root]# nslookup tw.yahoo.com <==由 domain name 查询 IP! Note: nslookup is deprecated and may be removed from future releases. Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing. Server: 163.28.112.1 Address: 163.28.112.1#53 Non-authoritative
answer:
[root@test root]#
nslookup
202.1.237.21 <==由 IP 查询 domain name
Non-authoritative
answer:
Authoritative
answers can be found from:
这个指令就如同前面的 host 提到的,就是正查反查的的指令啦!也是利用 /etc/resolv.conf 的内容来查询的!详细的说明请参考 DNS 服务器设定一节喔! 大标题的图示远程联机使用指令 telnet, ftp, ncftp,
底下我们就谈一谈怎么样来用这些指令吧! telnet 用来联机远程主机,当然, BBS 主机也可以联机 语法: [root@test
root]# telnet [-8] [host|IP] [port]
说明:
参数说明: -8 :可以减少乱码的情况 port:服务的埠口!例如 POP3 的 110 ,SMTP 的 25 port 等等!telnet 可以用来侦测! 范例: [root@test root]# telnet -8 bbs.sayya.org bbs.sayya.org ? SayYA Linux 信息站 ? 140.113.22.98 欢迎光临【 SayYA 信息站 】目前在线人数 [41] 人 【 SayYa Linux's BBS 站台 】
一个以 Linux 消息、知识、互动服务之专业 BBS 站
参观用账号:guest,申请新账号:new 请输入代号:guest
[root@test root]#
telnet
localhost 110
除了联机到主机以进行远程操控之外, telnet 最好用的地方就是在于: 以上面的例子来说,我们使用 telnet 就可以立刻连上 SayYa 这个专门探讨 Linux 的 BBS 站台的欢迎画面!嘿嘿!很棒吧!另外,如果您要确认本机端的 110 这个埠口是否正常时,也可以使用『 telnet + IP + port 』来侦测看看呦!很好用的工具吧! ^_^!不过,不幸的是,如果您在 Linux 终端机接口下,应该是看不到中文的啦!怎么办?!没关系,我们可以加上安装 JMCCE 这个中文套件来显示喔!这个在本章节后面继续说明咯。 ftp 远程传送数据当中,速度最快的协议之一 语法: [root@test
root]# ftp [-p] host [port]
说明:
参数说明: -p :启动 PASSIVE 模式! 范例: [root@test root]# ftp localhost <==预设是以 port 21 来进行联机 [root@test root]# ftp localhost 1354 # 如果您设定的 ftp 的 port 非正规的 21 ,则可以这样! [root@test root]# ftp localhost <==连接到远程主机 Connected to localhost (127.0.0.1). 220 localhost FTP server (Version wu-2.6.1-20) ready. Name (127.0.0.1:test): test <==输入账号 331 Password required for test. Password: <==输入密码 230 User test logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir <==显示远方主机的内容 ftp> cd <==变换远程主机的目录 ftp> close or bye or exit <==离开远程主机 ftp> get file <==取得远程主机的档案 ftp> mget file <==取得所有的档案,较 get 好用!例如 mget .bash* ftp> put file <==将本地端档案 file 丢到远程主机上 ftp> mputfile <==将一些档案上传咯 ftp> delete file <==杀掉远程主机的 file 档案 ftp> help <==显示求救指令! ftp> mkdir dir <==在远程主机上面建立目录 ftp> lcd <==变换本地端路径! ftp> ascii or binary <==以 ASCII 模式或 BINARY 模式捉取数据!? 这个指令是用在传输档案上面相当好用的功能之一!尤其是在可匿名登录的 FTP 网站!例如中山大学的网站!用法就如同上面显示的一般!包括各种捉取档案的方式都写在上头了,可得好好的参考参考!不过,由于这个数据在传送的时候是以明码的方式来传送的,所以较不安全啦!建议多以 sftp 来使用之!另外,他最大的好处是可以指定 port !当您有建立非 21 port 的时候,就可以使用这个指令加上 port 号来联机啦! ncftp 登入匿名主机最好用的文字接口 FTP 软件! 语法: [root@test
root]# ncftp [host]
说明:
[root@test root]# ncftp [ftp://domain.name/path] 参数说明: 可以直接连接到 host 主机,也可以直接连接到主机的某个路径之下,相当的方便 范例: [root@test root]# ncftp ftp.nsysu.edu.tw <==连接到中山大学 FTP 站 [root@test root]# ncftp ftp://ftp.nsysu.edu.tw/Linux # 直接连接到该 FTP 主机里面的 Linux 目录下! # 不过底下的画面因为经过转存,所以产生了乱码〜在 Putty 底下是正常的! NcFTP 3.0.3 (April 15, 2001) by Mike Gleason (ncftp@ncftp.com). Copyright (c)
1992-2001 by Mike Gleason.
Connecting to ftp.nsysu.edu.tw... ======================================================================
========================================================================
远程主机的一些服务指令:
本地端主机的一些指令功能:
这个指令的功能就更强大了!尤其在于使用目前网络上面允许匿名登录的 FTP 网站!例如上面提到的中山大学的 FTP 网站!您可以马上登入他,然后立刻联机看看,就知道如何使用他啦!很好用的啦!! ^_^ 大标题的图示文字界面网页浏览 lynx, wget,
这两个套件的版本在 Red Hat 9 是 2.8.5-11 及 1.8.2-9 ,至于其他版本的 linux 则不见得是后面这个版本名称,所以不同也没有关系!只要将原版 CD 拿出来 mount 他之后,以 rpm 安装吧!不要说您不会呦!打屁屁!好了,假设您已经安装好了,那么这两个东西分别是什么呢?先约略的介绍一下: 底下我们就分别来谈一谈这两个可爱的小东西吧!! lynx 文字接口下的 WWW 浏览器 语法: [root@test
root]# lynx http://web.site
说明:
参数说明: 范例: [root@test root]# lynx http://tw.yahoo.com tw.yahoo.com cookie: B=b7hd3jkukeu1e&b=2 Allow? (Y/N/Always/neVer) A # 上面输入 A 就可以接受 cookie 了! Yahoo!奇摩 (p1 of 5) [USEMAP:yk_masthead_142.gif]
小中~蓎胣语 9成小学偷跑 法国热浪 死亡人数直冲5千人 南洋-
如何冲印出好照片?
【拍卖】 [auc_ani.gif]
这个指令的最大功用就是让我们在文字接口下使用这个浏览器来上 WWW 网页啦!真的相当的好用!您可以仔细的尝试使用看看!速度上面应该是蛮快的呦!lynx 是文本模式下最普遍也最好用的网页浏览器(browser),由于 lynx 只在画面上秀出文字及其链结(link)的点,透过操作简单的箭头键及功能键,便能讯速的浏览网页,亦可下载文件。 另外,在台湾地区由于我们需要使用到 Big5 的编码表,所以需要修改一下 lynx 的配置文件,亦即是 /etc/lynx.cfg 这个档案,将底下的内容修改一下: [root@test
root]# vi /etc/lynx.cfg
呵呵!这样一来就可以见识到文字接口浏览器的庞大功能啰!您还可以参考一下底下的网址:http://freebsd.sinica.edu.tw/zh-tut/web-browse.html#LYNX
.... 略 ....找到底下的三行字符串 ##CHARACTER_SET:iso-8859-1 <==大约在 394 行处 #ASSUME_CHARSET:iso-8859-1 <==大约在 409 行处 #PREFERRED_LANGUAGE:en <==大约在 537 行处 将上面三行的 # 符号取消,并且改成底下这样: CHARACTER_SET:big5 <==这就是 Big5 中文的编码 ASSUME_CHARSET:big5 <==跟上面的说明一样! PREFERRED_LANGUAGE:zh_TW <==这个就是语系的支持! 语系的支持方面,您可以查看一下 /etc/sysconfig/i18n 这个档案, zh_TW 指的就是台湾!做了上面设定之后,就可以看中文啰! 此外,我们也可以使用 lynx 来进行『下载图标』的功能呦!例如我们要下载一个档案,则可以使用: [root@test
root]# lynx -dump http://the.site.doname.name/xxx.gif
> file.gif
呵呵呵!就样就 OK 啦!
wget 使用 wget 利用 FTP 及 HTTP 的协议来捉取数据! 语法: [root@test
root]# wget http://domain.name/file
说明:
[root@test root]# wget http://ftp.nsysu.edu.tw/Unix/Web/counter/Count2.6/Count2.6/download/src/wwwcount2.6.tar.gz --14:54:45-- http://ftp.nsysu.edu.tw/Unix/Web/counter/Count2.6/Count2.6/download/src/wwwcount2.6.tar.gz => `wwwcount2.6.tar.gz' Connecting to ftp.nsysu.edu.tw:80... connected! HTTP request sent, awaiting response... 200 OK Length: 433,312 [application/x-gzip]
0K .......... .......... .......... .......... .......... 11% @ 746.27
KB/s
14:54:46 (780.73 KB/s) - `wwwcount2.6.tar.gz' saved [433312/433312] 这个指令则是可以在文字接口中下载 WWW 里面的链接档案数据!也是相当方便的指令呢!那么如果要使用 proxy 来下载资料呢?嘿嘿!算您聪明!没错!使用 Proxy 有时候确实会让我们的下载速度变快,这个时候就需要动用的配置文件啦!我们的配置文件案放置在 /etc/wgetrc ,您可以这样修改一下,假设您要使用成大的 Proxy 主机:http://proxy.ncku.edu.tw 而他的连接 port 为 3128 ,所以就要这样改变啰! [root@test
root]# vi /etc/wgetrc
呵呵呵!这样一来,就有 Proxy 来支持我们的 wget 下载软件啰!很棒吧! ^_^.... 略 ....找到底下的两行字符串 #http_proxy = http://proxy.yoyodyne.com:18023/ <==在 75 行处 #use_proxy = on <==在 78 行处 将上面两行的 # 符号取消,并且改成底下这样: http_proxy = http://proxy.ncku.edu.tw:3128/ use_proxy = no 大标题的图示终端机的中文显示: jmcce 计划
JMCCE 的官方网站在: 此外,您在安装 JMCCE 之前,必须要先安装 svgalib 这个套件才行喔! svgalib 的官方网站在: 因为这次的测试当中,我选择 Red Hat 9 来进行,所以 svgalib 也可以到这个网站来下载: 下载的档案包括了:svgalib-1.4.1-12.i386.rpm 及 svgalib-devel-1.4.1-12.i386.rpm 两个。 还有一件很讨厌的事情,那就是 jmcce 目前仅支持 autoconf 2.13 以及 automake 1.4 而已,较新的版本会有问题,偏偏我们的 Red Hat 9 就是较新的版本,所以您也必须要到中山大学的 ftp 站台下载较旧的版本才行!另外,也需要 libtool 这个套件呢!目前我就是以 autoconf 2.13 、 automake 1.4 以及 libtool-1.4.2 来编译的说! 当然啦,为了避免上面的 RPM 档案仅能够在 Red Hat 版本上面安装,所以我也分别在两个网站上下载了最新的 Tarball 套件,如下所示: [root@test
root]# wget http://www.svgalib.org/svgalib-1.4.3.tar.gz
[root@test root]# wget http://jmcce.slat.org/DOWNLOAD/jmcce-1.4RC2.tar.gz 我这里使用的所有档案您也可以在鸟哥的私房菜里面下载:http://linux.vbird.org/download/#jmcce。然后就来安装吧!安装的过程相当的繁复,很讨厌的啦,您必须要一个套件一个套件的安装,而且为了不要让我们的系统出现问题,安装完毕之后,还需要将旧的套件移除,将原本的套件安装回来,天吶!好麻烦〜跟着我一步一步的进行吧! 1. 先安装 svgalib
1.1 如果以 RPM 安装的话(较不建议): [root@test root]# rpm -ivh svgalib-*.rpm 这样就 OK 了! 1.2 如果以 Tarball 安装的话(较建议的安装模式): [root@test root]# cd /usr/local/src [root@test src]# tar -zxvf /root/svgalib-1.4.3.tar.gz [root@test src]# cd svgalib-1.4.3 [root@test svgalib-1.4.3]# cd utils/ [root@test utils]# ln -s ../src/vga.h vga.h [root@test utils]# vi Makefile # 找到底下这一行( 约在第 16 行 ): CFLAGS = $(WARN) $(OPTIMIZE) -I../include # 修改成: CFLAGS = $(WARN) $(OPTIMIZE) -I../include -L../sharedlib [root@test utils]# cd .. [root@test svgalib-1.4.3]# make install [root@test svgalib-1.4.3]# cd /usr/lib [root@test lib]# ln -s /usr/local/lib/libvga.so.1 . # 会有一些错误讯息,不过只与 man 有关,没有关系!先略过去! 2. 再安装 jmcce 这个套件吧! [root@test root]# rpm -e libtool autoconf automake # 先移除一些较新的套件咯! 2.1 先装 autoconf [root@test root]# cd /usr/local/src [root@test src]# tar -zxvf /root/autoconf-2.13.tar.gz [root@test src]# cd autoconf-2.13 [root@test autoconf-2.13]# ./configure --prefix=/usr/local [root@test autoconf-2.13]# make && make install 2.2 安装 automake [root@test autoconf-2.13]# cd /usr/local/src [root@test src]# tar -zxvf /root/automake-1.4.tar.gz [root@test src]# cd automake-1.4 [root@test automake-1.4]# ./configure --prefix=/usr/local [root@test automake-1.4]# make && make install 2.3 安装 libtool [root@test automake-1.4]# cd /usr/local/src [root@test src]# tar -zxvf /root/libtool-1.4.2.tar.gz [root@test src]# cd libtool-1.4.2 [root@test libtool-1.4.2]# ./configure --prefix=/usr/local [root@test libtool-1.4.2]# make && make install 2.4 安装 jmcce [root@test libtool-1.4.2]# cd /usr/local/src [root@test src]# tar -zxvf /root/jmcce-1.4RC2.tar.gz [root@test src]# cd jmcce-1.4RC2/ [root@test jmcce-1.4RC2]# LANG=zh_TW.Big5 [root@test jmcce-1.4RC2]# vi /etc/sysconfig/i18n # 可以将他改成中文显示喔!底下的模样修改 LANG="zh_TW.Big5" [root@test jmcce-1.4RC2]# vi genconf.sh # 找到这一行: bin_PATH="/usr/bin" # 将他改成: bin_PATH="/usr/local/bin" [root@test jmcce-1.4RC2]# ./genconf.sh ; ./genconf.sh # 这个动作要多做几次,不然老是有一些怪怪的错误讯息! # 最后还是会出现一个错误讯息,就是底下的样子: configure.in: 13: required file `build/ltconfig' not found # 不过这个讯息不会影响最后的编译结果,所以就不要管他了! [root@test jmcce-1.4RC2]# ./configure --prefix=/usr \ > --sysconfdir=/etc/chinese/jmcce [root@test jmcce-1.4RC2]# make && make install 3. 移除暂存中间档案,将新版套件安装回来! [root@test jmcce-1.4RC2]# cd /usr/local/src/autoconf-2.13/ && make uninstall [root@test autoconf-2.13]# cd /usr/local/src/automake-1.4/ && make uninstall [root@test automake-1.4]# cd /usr/local/src/libtool-1.4.2/ && make uninstall # 拿出原版光盘,安装 autoconf, automake 与 libtool 吧! 这样就安装妥当了 jmcce 了,真的很麻烦对吧! ^_^!我就觉得很麻烦,上面的测试还仅是针对 Red Hat 9 哩,如果您的系统是非 Red Hat 的,那么请自行依照上面的步骤安装,并且自行依据屏幕上面出现的讯息作一些修订的工作吧!整体流程是不变的,只是可能会比较麻烦一点点就是了。好了,开始来使用 jmcce 吧,请注意, jmcce 目前在终端机仅支持 640x480 256 色,如果您的终端机分辨率与这个咚咚不同,那么就需要设定 grub 或者是 lilo 来设定好这样的分辨率了!只要在 grub 的 /boot/grub/menu.lst 或者是 lilo 的 /etc/lilo.conf 新增一行:『vga=769』,然后依据管理程序 ( 如果是 lilo 的话,就得执行一次 lilo 让设定生效,如果是 grub 的话,就不需要咯 ) 动作生效后,就可以重新启动 ( reboot ) 来启动啦!在启动之后,您可以在终端机执行底下的指令来启用喔! (注: jmcce 不可以在 putty 或者是其他的非标准环境中使用!切记切记!) jmcce
(程序依现行 locale 自动决定繁体模式)
jmcce -b (手动强迫以 BIG5码繁体中文操作) jmcce -g (手动强迫以 GB码简体中文操作) jmcce -d (仅显示中文而不加载任何中文输入法,繁体模式自动) CTRL-SPACE ===> 中英切换 CTRL-ALT-0-9 ===> 输入法选择 CTRL-ALT-1 ===> 仓颉输入法 CTRL-ALT-2 ===> 简易输入法 CTRL-ALT-3 ===> 注音输入法 (Linux/CXterm 传统「零壹注音输入法」) CTRL-ALT-4 ===> 慈安输入法 (方快科技关慈安先生提供,含三十万词汇快速输入) CTRL-ALT-5 ===> 行列输入法 CTRL-ALT-6 ===> 英快输入法 (方快科技提供,大幅改良的英汉输入法) CTRL-ALT-7 ===> 酷音输入法 (智能型注音输入) CTRL-ALT-8 ===> 日文拼音输入法 (轻松信息提供,可用拼音输入所有假名与三万汉字词汇) CTRL-ALT-9 ===> 无虾米输入法 (只要自备合法对照表即可加挂启动) CTRL-ALT-0 ===> 内码输入法 呼呼!恭喜恭喜!成功啦!^_^!那么怎么关掉 jmcce 呢?您可以使用 ps -aux 找到 jmcce 之后,使用 kill 将他关闭即可,或者直接输入 exit 就可以了! 大标题的图示连不上一些网站的处理方法 MTU 修改
另外,如果您曾经使用 Windows 2000 作为联机分享的主机时,可能会发现在 client 端发生『总是有些网站无法顺利的连接上去!但是在主机端则没有问题!』,或者是『客户端无法浏览某些网站或是无法发送内含附件的电子邮件』,这真是伤脑筋呀!其实,发生这样的问题通常就是与 MTU 的数值不正确有关的。如何解决呢?呵呵!需要藉由修改『每一个 Client 端计算机的 MTU 来修正』才行吶。一般而言,MTU 在网络卡 (EtherNet) 的默认值为 1500 单位!至于其他的接口如下: 网络接口
MTU
EtherNet (一般的网络接口,这也是默认值)
1500
PPPoE(ADSL用的)
1492
Dial-up(modem)
576
由上面的表格我们可以知道,默认的网络接口 MTU 是 1500 ,那 PPPOE 使用的是 1492,自然而然的 MTU 要求并不相同,所以啦!有一些网页、邮件数据等等的咚咚就可能会因为这样而无法进行正确的传送吶。那该如何解决呢? 其实只要调整 Client 端网络卡的 MTU 值即可完全解决此一问题!而且藉由调整 MTU 值也可以增进网络效率呢。 那首要课题自然就是知道您的网络卡所可以负荷的 MTU 啦!因此我们第一步就是要找到适合的 MTU 。 找出 MTU 值: 由于 MTU 与 Router 具有较大的关系,因此,我们通常是在 Client 端的计算机上,对我们的 Router (就是 NAT 主机,这部主机可能是 Linux 也可能是 Windows 系统喔!) 进行 MTU 数值的侦测吶。底下我们分别针对 Windows 与 Linux 进行 MTU 数值的检测喔。(注:假设您的 Router 的 IP 为 192.168.1.2 ): C:\WINDOWS>
ping
-f -l 1500 192.168.1.2
那个 -l 是 L 的小写,至于 bytes 则是本机送出的封包体积, IP 则是 Gateway
的 IP 。在上面的测试当中,当封包大小设定为 1500 时,结果出现了
Packet
needs to be fragmented but DF set. 这个东西,意思是说,这个封包的体积大过于
MTU 能够接受的大小,但是由于我们下达了 -f 这个参数,所以封包没有办法重新组合,因此就发生了错误了!也就是说,如果要优化的话,那么
MTU 数值的设定要更小才行!OK!那么当我们使用 1464 来测试时:
Pinging 192.168.1.2 with 1500 bytes of data: Packet needs
to be fragmented but DF set.
Ping statistics
for 192.168.1.2:
C:\WINDOWS>
ping -f -l 1464 192.168.1.2
结果出现了响应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大
MTU 值!这样一来,在设定的时候,才可以达到最佳的网络速率!
Pinging 192.168.1.2 with 1464 bytes of data: Reply from 192.168.1.2:
bytes=1464 time=10ms TTL=128
Ping statistics
for 192.168.1.2:
上面我们找到的数据其实是封包的体积大小,但是每个封包还都具有标头,这个标头的部分占去了 28 bytes ,所以啦,最终的 MTU 数值其实是 1464+28=1492 才对喔! [root@test
root]# ping -c 3 -M do -s 1472 192.168.1.2
呵呵!结果就可以发现数值为 1472 啰!其他的就如同前面提到的,MTU = 1472
+ 28 = 1500 啦!
PING 192.168.1.2 (192.168.1.2) from 192.168.1.13 : 1472(1500) bytes of data. 1480 bytes from 192.168.1.2: icmp_seq=0 ttl=255 time=2.408 msec 1480 bytes from 192.168.1.2: icmp_seq=1 ttl=255 time=2.392 msec 1480 bytes from 192.168.1.2: icmp_seq=2 ttl=255 time=2.440 msec --- 192.168.1.2 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/mdev = 2.392/2.413/2.440/0.044 ms [root@test root]# ping -c 3 -M do -s 1473 192.168.1.2 PING 192.168.1.2 (192.168.1.2) from 192.168.1.13 : 1473(1501) bytes of data. ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long --- 192.168.1.2
ping statistics ---
修改 MTU 值: OK!我们已经找出 MTU 值啦,那下一步自然就是修改啰!要如何修改呢?其实也是很简单,只要透过 Windows 本身预设的 registry 修改即可!至于 Linux 则以 ifconfig 来更改吧! Windows 98: Windows 2000: Linux: 在 Linux 上面的更新要简单的多了!使用 ifconfig 加上 mtu 这个参数即可!例如: [root@test
root]# ifconfig eth0 mtu 1500
这样就成功的修订了!简单的很吧! ^_^ 基本上,这样应该已经可以解决 MTU 无法搭配的问题了!相关的网页您可以到底下两个网页去看看! http://www.microsoft.com/taiwan/msclub/member/TIPS/Spring_2001/tip1to3/tip1to3_2.htm 另外,网友有建议另一个测试 MTU 的网页,您也可以上去瞧一瞧,不过,要上这个网页之前,『请先将您的 代理服务器设定 取消』否则测到的会是您的 Proxy 而不是您的 IP 喔! http://forums.speedguide.net:8117/ 大标题的图示课后练习:
前往参考用解答 大标题的图示参考数据
2002年07月31日:第一次完成日期! 2003年08月19日:重新编排版面,加入 jmcce 的安装以及 MTU 的相关说明 2003年08月20日:加入课后练习去 2003年09月19日:加入参考用解答咯! 2005年03月24日:route 的指令参数写错了!已经订正! |
|
本网页主要以Firefox配合解析度 1024x768 作为设计依据 鸟哥自由软件整合应用研究室