您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 子网门 >

网络概念知识和Linux命令链接(IP子网掩码网关DNS服务器IP路由)

发布时间:2019-06-15 20:35 来源:未知 编辑:admin

  上面的子网掩码怎么来的呢?其实关键就在“24”上。我们知道IP地址是四个十进制数组成的,相当于32位二进制。

  001. 问:IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢

  答:IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。

  DNS是域名服务器,用来解析域名的(域名与IP之间的解析),如果没有这东西,你必须输入网站的IP地址,有了DNS,你就可以直接输入网址。

  因为上QQ不需要有DNS(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS。

  DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。(详见文化基础P242)

  电脑之间要实现网络通信,就必须要有一个合法的ip地址。IP地址=网络地址+主机地址,(又称:主机号和网络号组成)ip地址的结构使我们可以在Internet上很方便的寻址。ip地址通常用更直观的,以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1在局域网里,同样也需要ip地址,一般内网的ip地址是以192.168开头的,这样很容易区分公网和内网的ip地址。

  不管是学习网络还是上网,IP地址都是出现频率非常高的词.Windows系统中设置IP地址的界面如图1所示,图中出现了IP地址,子网掩码,默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢

  要解答这些问题,先看一个日常生活中的例子.如图2所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号.假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:谁是6号,请回答.,这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫广播,北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号.也就是说,北大街的任何一个用户喊一声能让广播地址-1个用户听到.

  街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号

  Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP地址=网络地址+主机地址,图1中的IP地址是192.168.100.1,这个地址中包含了很多含义.如下所示:

  这些地址是如何计算出来的呢 为什么计算这些地址呢 要想知道如何,先要明白一个道理,学习网络的目的就是如何让网络中的计算机相互通讯,也就是说要围绕着通这个字来学习和理解网络中的概念,而不是只为背几个名词.

  一句话就是让网络中的计算机能够相互通讯.先看看最简单的网络,图3中是用网线(交叉线)直接将两台计算机连起来.下面是几种IP地址设置,看看在不同设置下网络是通还是不通.

  第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通,而2,3种情况下两台计算机处在不同的网络,所以不通.

  这里先给个结论:用网线直接连接的计算机或是通过HUB(集线器)或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样.如果不在一个网络就无法通.这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方.计算网络地址就是判断网络中的计算机在不在同一网络,在就能通,不在就不能通.注意,这里说的在不在同一网络指的是IP地址而不是物理连接.那么如何计算呢

  我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码.

  计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址.与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0

  1,从下面运算结果可以看出二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通.

  2,从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0 不在一个网络,所以不通.

  3,从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通

  子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。(具体子网掩码各位的含义待补充。)

  如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。(文化基础P222 网关的概念)

  一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

  手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。

  在Windows 9x中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的IP地址就可以了。

  需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。

  自动设置就是利用DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关 。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了

  第二个子网的街道号为10.4.2.0, 即跟第一个子网不属于一个街道, 在第一个子网内喊话(广播), 第二个子网无法听不到. 于是就需要有个网段间被广播的消息转发的角色, 这个角色就是网关(gateway).

  网关(Gateway)就是一个网络连接到另一个网络的“关口”。网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。

  当一个局域网中必须存在两个以上网段时,分属于不同网段内的主机彼此互不可见。为了解决这个问题,就必须在不同的网段之间设置路由器。如果花费上万元资金购买一台路由器,仅仅用于连接局域网中的两个网段,实在不值得。有什么好的解决方案吗?当然有,这就是Windows中的IP路由。

  文章巧设IP路由 实现不同网段互通对具体步骤进行了详细描述.

  当一个局域网中必须存在两个以上网段时,分属于不同网段内的主机彼此互不可见。为了解决这个问题,就必须在不同的网段之间设置路由器。如果花费上万元资金购买一台路由器,仅仅用于连接局域网中的两个网段,实在不值得。有什么好的解决方案吗?当然有,这就是Windows中的IP路由。

  3、在欲设置为软路由的计算机中安装TCP/IP 协议,并为两块网卡分别配置IP地址信息(例如,192.168.1.1/255.255.255.0和10.0.0.1/255.0.0.0),使两块网卡分别处于两个不同的IP网段。

  1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。

  2、单击“操作”菜单,选择“配置并启用路由和远程访问”命令,运行“路由和远程访问服务器安装向导”,单击[下一步]。

  3、由于我们在这里要安装的是路由器,所以,选择“网络路由器”选项,并单击[下一步]。

  4、通常情况下,局域网计算机中只安装TCP/IP协议和NetBEUI协议,而且只有TCP/IP协议拥有路由功能。AppleTalk协议仅用于苹果计算机之间的通讯。由于TCP/IP协议已经显示于“协议”列表之中,因此,选择“是,所有可用的协议都在列表上”选项,并单击[下一步]。

  5、本例中不安装远程访问服务,因此,选择“否”,不使用请求拨号访问远程网络。单击[下一步]。

  1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。

  2、右键单击要启用路由的服务器名,然后单击“属性”,显示“属性”对线、在“常规”选项卡上,选中“路由器”复选框,并选择“仅用于局域网(LAN)路由选择”选项,单击[确定]。

  4、在“路由和远程访问”窗口中,打开左侧目录树“IP路由选择”,右击“常规”,并在快捷菜单中选择“新路由选择协议”,显示“新路由选择协议”对线、在“路由选择协议”列表中选中“用于Internet协议的RIP版本2”,并单击[确定]。注意,在中小型网络中建议选择RIP协议,在大型网络中则选择OSPF协议。

  6、在目录树中右击“RIP”,并在快捷菜单中选择“新接口”,显示“用于Internet协议的RIP版本2的新接口”对线、在“接口”列表框中选择第一个网络接口,即“本地连接”,单击[确定],显示“RIP属性”对线、RIP属性取系统默认值即可,单击[确定]。

  若欲实现192.168.1.0和10.0.0.0两个IP地址段中计算机之间的互访,在安装并设置好IP路由后,还必须对客户机做相应的设置。对于192.168.1.0地址段中的计算机,需将其默认网关设置为192.168.1.1,而对于10.0.0.0地址段中的计算机,则需将其默认网关设置为10.0.0.1。设置方法如下:

  1、依次打开“开始/控制面板/网络”,打开“网络”对线、在“配置”选项卡的“已经安装了下列网络组件”列表中,选择“TCP/IP”中的“QXCOMM QN408(3102A)PCI Fast Ethernet Adapter”(本例安装的网卡为全向QN408),单击[属性]按钮,显示“TCP/IP属性”对线、选择“网关”选项卡,在“新网关”对线.168.1.255 之间)或“10.0.0.1”(假如IP地址位于10.0.0.0~10..255.255.255之间),单击[添加]。

  4、单击[确定],完成网关设置,并根据系统提示重新启动计算机。网络内的计算机都分别设置默认网关后,即可实现不同网段计算机之间的的互访.

  Linux 的网路功能相当的强悍,一时之间我们也无法完全的介绍所有的网路指令,这个章节主要的目的在介绍一些常见的网路指令而已。至于每个指令的详细用途将在后续伺服器架设时,依照指令的相关性来进行说明。当然,在这个章节的主要目的是在于将所有的指令汇整在一起, 比较容易了解啦!这一章还有个相当重要的重点,那就是封包撷取的指令。若不熟悉也没关系,先放着,全部读完后再回来这一章仔细练习啊!

  5.2.1两部主机两点沟通: ping用ping追踪路径中的最大MTU数值

  5.1 网路参数设定使用的指令任何时刻如果你想要做好你的网路参数设定,包括IP 参数、路由参数与无线网路等等,就得要了解底下这些相关的指令才行!其中以ifconfig 及route 这两支指令算是较重要的喔!^_^!当然,比较新鲜的作法,可以使用ip 这个汇整的指令来设定IP 参数啦!

  ifup, ifdown:这两个档案是script,透过更简单的方式来启动网路介面;

  ifconfig 主要是可以手动的启动、观察与修改网路介面的相关参数,可以修改的参数很多啊,包括IP 参数以及MTU 等等都可以修改,他的语法如下:

  直接输入ifconfig就会列出目前已经被启动的卡,不论这个卡是否有给予IP,都会被显示出来。而

  如果是输入ifconfig eth0,则仅会秀出这张介面的相关资料,而不管该介面是否有启动。所以如果你想要知道某张网路卡的Hardware Address,直接输入『 ifconfig 网路介面代号 』即可喔!^_^!至于上表出现的各项资料是这样的(资料排列由上而下、由左而右):

  ifup与ifdown真是太简单了!这两支程式其实是script而已,他会直接到/etc/sysconfig/network-scripts目录下搜寻对应的设定档,例如ifup

  eth0这个档案的内容,然后来加以设定。关于ifcfg-eth0的设定则请参考第四章的说明。

  不过,由于这两支程式主要是搜寻设定档(ifcfg-ethx)来进行启动与关闭的,所以在使用前请确定ifcfg-ethx是否真的存在于正确的目录内,否则会启动失败喔!另外,

  如果以ifconfig eth0 ....来设定或者是修改了网路介面后,那就无法再以ifdown eth0的方式来关闭了!因为ifdown会分析比对目前的网路参数与ifcfg-eth0是否相符,不符的话,就会放弃该次动作。因此,使用ifconfig修改完毕后,应该要以ifconfig eth0 down才能够关闭该介面喔!

  # 因为我的主机内仅有192.168.1.11 这个IP ,所以不能直接与192.168.200.254 # 这个网段直接使用MAC 互通!这样说,可以理解吗? [root@www ~]#

  #增加预设路由的方法!请注意,只要有一个预设路由就够了喔! # 同样的,那个192.168.1.250 的IP 也需要能与你的LAN 沟通才行! # 在这个地方如果你随便设定后,记得使用底下的指令重新设定你的网路 #

  如果是要进行路由的删除与增加,那就得要参考上面的例子了,其实,使用man route里面的资料就很丰富了!仔细查阅一下啰!你只要记得,当出现『

  SIOCADDRT: Network is unreachable』这个错误时,肯定是由于gw后面接的IP无法直接与你的网域沟通(Gateway并不在你的网域内),所以,赶紧检查一下是否输入错误啊!

  一般来说,鸟哥如果接触到一个新的环境内的主机,在不想要更动原系统的设定档情况下,然后预计使用本书的网路环境设定时,手动的处理就变成:『ifconfig eth0 192.168.1.100; route add default gw 192.168.1.254』这样就搞定了!直接联网与测试。等到完成测试后,再给她/etc/init.d/network restart恢复原系统的网路即可。

  ip 是个指令喔!并不是那个TCP/IP 的IP 啦!这个ip 指令的功能可多了!基本上,他就是整合了ifconfig 与route 这两个指令啰~不过, ip 可以达成的功能却又多更多!真是个相当厉害的指令。如果你有兴趣的话,请自行vi /sbin/ifup ,就知道整个ifup 就是利用ip 这个指令来达成的。好了,如何使用呢?让我们来瞧一瞧先!

  ip [option] [动作] [指令]选项与参数: option :设定的参数,主要有: -s :显示出该装置的统计数据(statistics),例如总接受封包数等; 动作:亦即是可以针对哪些网路参数进行动作,包括有: link :关于装置(device) 的相关设定,包括MTU, MAC 位址等等 addr/address :关于额外的IP 协定,例如多IP 的达成等等; route :与路由有关的相关设定

  由上面的语法我们可以知道, ip 除了可以设定一些基本的网路参数之外,还能够进行额外的IP 协定,包括多IP 的达成,真是太完美了!底下我们就分三个部分(link, addr, route) 来介绍这个ip 指令吧!

  ip link 可以设定与装置(device) 有关的相关参数,包括MTU 以及该网路介面的MAC 等等,当然也可以启动(up) 或关闭(down) 某个网路介面啦!整个语法是这样的:

  使用ip link show 可以显示出整个装置介面的硬体相关资讯,如上所示,包括网卡位址(MAC)、MTU等等, 比较有趣的应该是那个sit0 的介面了,那个sit0 的介面是用在IPv4 及IPv6 的封包转换上的, 对于我们仅使用IPv4 的网路是没有作用的。lo 及sit0 都是主机内部所自行设定的。而如果加上-s 的参数后,则这个网路卡的相关统计资讯就会被列出来, 包括接收(RX) 及传送(TX) 的封包数量等等,详细的内容与ifconfig 所输出的结果相同的。

  如上表所示,最简单的功能就是显示出目前的路由资讯,其实跟route 这个指令相同啦!指示必须要注意几个小东西:

  proto:此路由的路由协定,主要有redirect, kernel, boot, static, ra 等, 其中kernel 指的是直接由核心判断自动设定。

  scope:路由的范围,主要是link ,亦即是与本装置有关的直接连线。

  这两个指令的应用我们在第四章里面的无线网卡设定谈了很多了,所以这里我们不再详谈,有兴趣的朋友应该先使用man iwlist与man iwconfig了解一下语法,然后再到前一章的无线网路小节查一查相关的用法,就了解了啦!^_^

  如果你是使用DHCP 协定在区域网路内取得IP 的话,那么是否一定要去编辑ifcfg-eth0 内的BOOTPROTO 呢?嘿嘿!有个更快速的作法,那就是利用dhclient 这个指令~因为这个指令才是真正发送dhcp 要求工作的程式啊!那要如何使用呢?很简单!如果不考虑其他的参数,使用底下的方法即可:

  高手求救!我的Linux不能连上网路了!』我的天呐!不能上网路的原因多的很!而要完全搞懂也不是一件简单的事情呢!不过,事实上我们可以自己使用测试软体来追踪可能的错误原因,而很多的网路侦测指令其实在Linux里头已经都预设存在了,只要你好好的学一学基本的侦测指令,那么一些朋友在告诉你如何侦错的时候,你应该就立刻可以知道如何来搞定他啰!

  这个ping是很重要的指令,ping主要透过ICMP封包来进行整个网路的状况报告,当然啦,最重要的就是那个ICMP type 0, 8这两个类型,分别是要求回报与主动回报网路状态是否存在的特性。要特别注意的是, ping还是需要透过IP封包来传送ICMP封包的,而IP封包里面有个相当重要的TTL属性,这是很重要的一个路由特性,详细的IP与ICMP表头资料请参考第二章网路基础的详细介绍。

  选项与参数: -c 数值:后面接的是执行ping 的次数,例如-c 5 ; -n :在输出资料时不进行IP 与主机名称的反查,直接使用IP 输出(速度较快); -s 数值:发送出去的ICMP 封包大小,预设为56bytes,不过你可以放大此一数值; -t 数值:TTL 的数值,预设是255,每经过一个节点就会少一; -W 数值:等待回应对方主机的秒数。 -M [dodont] :主要在侦测网路的MTU 数值大小,两个常见的项目是: do :代表传送一个DF (Dont Fragment) 旗标,让封包不能重新拆包与打包; dont:代表不要传送DF 旗标,表示封包可以在其他主机上拆包与打包

  ping 最简单的功能就是传送ICMP 封包去要求对方主机回应是否存在于网路环境中,上面的回应讯息当中,几个重要的项目是这样的:

  64 bytes:表示这次传送的ICMP封包大小为64 bytes这么大,这是预设值,在某些特殊场合中,例如要搜索整个网路内最大的MTU时,可以使用-s 2000之类的数值来取代;

  如果你的主机与待侦测主机并不在同一个网域内,那么TTL预设使用255 ,如果是同一个网域内,那么TTL预设则使用64喔!

  我们由第二章的网路基础里面谈到加大讯框(frame)时,对于网路效能是有帮助的,因为封包打包的次数会减少,加上如果整个传输的媒体都能够接受这个frame而不需要重新进行封包的拆解与重组的话,那么效能当然会更好,那个修改frame大小的参数就是MTU啦!好了,现在我们知道网路卡的MTU修改可以透过ifconfig或者是ip等指令来达成,那么追踪整个网路传输的最大MTU时,又该如何查询?呵呵!最简单的方法当然是透过ping传送一个大封包,并且不许中继的路由器或switch将该封包重组,那就能够处理啦!没错!可以这样的:

  # 如果有回应,那就是可以接受这个封包,如果无回应,那就表示这个MTU 太大了。 [root@www ~]#

  #这个错误讯息是说,本地端的MTU才到1500而已,你要侦测8000的MTU # 根本就是无法达成的!那要如何是好?用前一小节介绍的ip link 来进行MTU 设定吧!

  不过,你需要知道的是,由于IP封包表头(不含options)就已经占用了20 bytes,再加上ICMP的表头有8 bytes ,所以

  当然你在使用-s size的时候,那个封包的大小就得要先扣除(20+8=28)的大小了。因此如果要使用MTU为1500时,就得要下达『 ping -s 1472 -M do xx.yy.zz.ip 』才行啊!另外,由于本地端的网路卡MTU也会影响到侦测,所以如果想要侦测整个传输媒体的MTU数值,那么每个可以调整的主机就得要先使用ifcofig或ip先将MTU调大,然后再去进行侦测,否则就会出现像上面提供的案例一样,可能会出现错误讯息的!不过这个MTU不要随便调整啊!除非真的有问题。通常调整MTU的时间是在这个时候:

  因为全部的主机群都是在内部的区网,例如丛集架构(cluster) 的环境下, 由于内部的网路节点都是我们可以控制的,因此可以透过修改MTU 来增进网路效能;

  因为作业系统预设的MTU 与你的网域不符,导致某些网站可以顺利连线,某些网站则无法连线。以Windows 作业系统作为连线分享的主机时,在Client 端挺容易发生这个问题;

  我们前面谈到的指令大多数都是针对主机的网路参数设定所需要的,而ping 是两部主机之间的回声与否判断, 那么有没有指令可以追踪两部主机之间通过的各个节点(node​​) 通讯状况的好坏呢?举例来说,如果我们连线到yahoo 的速度比平常慢,你觉得是(1)自己的网路环境有问题?(2)还是外部的Internet 有问题?如果是(1) 的话,我们当然需要检查自己的网路环境啊,看看是否又有谁中毒了?但如果是Internet 的问题呢?那只有『等等等』啊!判断是(1)还是(2) 就得要使用traceroute 这个指令啦!

  选项与参数: -n :可以不必进行主机的名称解析,单纯用IP ,速度较快! -U :使用UDP 的port 33434 来进行侦测,这是预设的侦测协定; -I :使用ICMP 的方式来进行侦测; -T :使用TCP 来进行侦测,一般使用port 80 测试 -w :若对方主机在几秒钟内没有回声就宣告不治...预设是5 秒 -p 埠号:若不想使用UDP 与TCP 的预设埠号来侦测,可在此改变埠号。 -i 装置:用在比较复杂的环境,如果你的网路介面很多很复杂时,才会用到这个参数; 举例来说,你有两条ADSL 可以连接到外部,那你的主机会有两个ppp, 你可以使用-i 来选择是ppp0 还是ppp​​1 啦! -g 路由:与-i 的参数相仿,只是-g 后面接的是gateway 的IP 就是了。#范例一:侦测本机到yahoo去的各节点连线状态 [root@www ~]#==可能有防火墙装置等情况发生所致

  这个traceroute 挺有意思的,这个指令会针对欲连接的目的地之所有node 进行UDP 的逾时等待, 例如上面的例子当中,由鸟哥的主机连接到Yahoo 时,他会经过12 个节点以上,traceroute会主动的对这12 个节点做UDP 的回声等待,并侦测回覆的时间,每节点侦测三次,最终回传像上头显示的结果。你可以发现每个节点其实回覆的时间大约在50 ms 以内,算是还可以的Internet 环境了。

  比较特殊的算是第10/12 个,会回传星号的,代表该node 可能设有某些防护措施,让我们发送的封包资讯被丢弃所致。因为我们是直接透过路由器​​转递封包,并没有进入路由器去取得路由器的使用资源,所以某些路由器仅支援封包转递, 并不会接受来自用户端的各项侦测啦!此时就会出现上述的问题。因为traceroute 预设使用UDP 封包,如果你想尝试使用其他封包, 那么-I 或-T 可以试看看啰!

  由于目前UDP/ICMP 的攻击层出不穷,因此很多路由器可能就此取消这两个封包的回应功能。所以我们可以使用TCP 来侦测呦!例如使用同样的方法,透过等待时间1 秒,以及TCP 80 埠口的情况下,可以这样做:

  看到上头的特殊字体吧?那代表目前已经建立连线的埠口向本地端主机192.168.1.100的port 22进行的一条连线,你必须要想起来的是:『

  Client端是 ​​随机取一个大于1024以上的port进行连线』,此外『

  只有root可以启动小于1024以下的port』,那就看的懂上头那条连线啰!如果这条连线你想要砍掉他的线了没?kill会用吧!^_^

  至于传统的Unix socket 的资料,记得使用man netstat 查阅一下吧!这个Unix socket 通常是用在一些仅在本机上运作的程式所开启的插槽介面档, 例如X Window 不都是在本机上运作而已吗?那何必启动网路的port 呢?当然可以使用Unix socket 啰,另外,例如Postfix 这​​一类的网路伺服器,由于很多动作都是在本机上头来完成的, 所以以会占用很多的Unix socket 喔!

  请说明服务名称与port number 的对应在Linux 当中,是用那个档案来设定对应的?

  host这个指令可以用来查出某个主机名称的IP 喔!举例来说,我们想要知道的IP 时,可以这样做:

  会告诉我们所使用来查询的主机是哪一部呐!这样就够清楚了吧!不过,再怎么清楚也比不过dig 这个指令的,所以这个指令仅是参考参考啦!

  这玩意儿的用途与host基本上是一样的,就是用来作为IP与主机名称对应的检查,同样是使用/etc/resolv.conf这个档案来作为DNS伺服器的来源选择。

  #范例二:找出168.95.1.1的主机名称 [root@www ~]#

  如何,看起来与host差不多吧!不过,这个nslookup还可以由IP找出主机名称喔!例如那个范例二,他的主机名称是: dns.hinet.net哩!目前大家都建议使用dig这个指令来取代nslookup ,我们会在第十九章DNS伺服器那时再来好好谈一谈吧!

  啥是远端连线呢?其实就是在不同的电脑之间进行登入的情况啦!我们可以透过telnet, ssh 或者是ftp 等协定来进行远端主机的登入。底下我们就分别来介绍一下这些基本的指令吧!这里仅是谈到用户端功能喔, 相关的伺服器我们则会在后续进行说明的。

  telnet是早期我们在个人电脑上面要连结到伺服器工作时,最重要的一个软体了!他不但可以直接连接到伺服器上头,还可以用来连结BBS呢!非常棒!不过, telnet本身的资料在传送的时候是使用明码(原始的资料,没有加密) ,所以资料在Internet上面跑的时候,会比较危险一点(就怕被别人监听啊)。更详细的资料我们会在第十一章远端连线伺服器内做介绍的。

  yum install telnet==预设没有安装这软体 [root@www ~]#telnet ptt.cc 欢迎来到批踢踢实业坊目前有【100118】名使用者与您一同对抗炎炎夏日。 请输入代号,或以guest 参观,或以new 注册: [高手召集令] 台湾骇客年会暑假与你骇翻南港要学电脑,首选台湾大学资讯训练班!

  瞧!根据输出的结果,我们就能够知道这个通讯协定(port number 提供的通讯协定功能) 是否有成功的启动呐!而在每个port 所监听的服务都有其特殊的指令,例如上述的port 25 就是在本机介面所提供的电子邮件服务, 那个服务所支援的指令就如同上面使用的资料一样,但是其他的port 就不见得支援这个『 ehlo 』的命令, 因为不同的port 有不同的程式嘛!所以当然支援的命令就不同啰!

  现在的人们由于有高容量的email 可以用,因此传送档案可以很轻松的透过email 。不过email 还是有单封信件容量限制, 如果想要一口气传送个几百MB 的档案,恐怕还是得要透过FTP 这个通讯协定才行啊!文字介面的FTP 软体主要有ftp, lftp 两个,图形介面的呢?在CentOS 上面预设有gftp 这个好用的东东。在这里我们仅介绍文字介面的两个指令而已。

  ftp 这个指令很简单,用在处理FTP 伺服器的下载资料啦。由于鸟哥所在的位置在昆山科大,因此这里使用昆山科大的FTP 伺服器为例:

  ==鸟哥这里用匿名登入! 230 Anonymous user logged in

  ==嗯!确实是匿名登入了! Remote system type is UNIX. Using binary mode to transfer files. ftp

  FTP其实算是一个很麻烦的协定,因为他使用两个port分别进行命令与资料的交流,详细的资料我们会在第二十一章的FTP伺服器内详谈,这里我们先单纯的介绍一下如何使用ftp这个软体。首先我们当然是需要登入啰,所以在上头的表格当中我们当然需要填入帐号与密码了。不过由于昆山科大仅提供匿名登入,而

  匿名登入者的帐号就是『 anonymous 』所以直接填写那个帐号即可。如果是私人的FTP时,才需要提供一组完整的帐号与密码啦!

  登入FTP 主机后,就能够使用ftp 软体的功能进行上传与下载的动作,几个常用的ftp 内指令如上表,不过,鸟哥建议你可以连到大学的FTP 网站后,使用help (或问号? ) 来参考可用的指令,然后尝试下载以测试使用一下这个指令吧!这样以后没有浏览器的时候,你也可以到ftp 下载了呢!不错吧!另外你要注意的是,离开ftp 软体时,得要输入『 bye 』喔!不是『 exit 』啦!

  如果由于某些理由,让你的FTP 主机的port 开在非正规的埠口时,那你就可以利用底下的方式来连接到该部主机喔!

  单纯使用ftp 总是觉得很麻烦,有没有更快速的ftp 用户软体呢?让我们可以使用类似网址列的方式来登入FTP 伺服器啊?有的,那就是lftp 的功能了!lftp 预设使用匿名登入FTP 伺服器,可以使用类似网址列的方式取得资料, 使用上比单纯的ftp 要好用些。此外,由于可在指令列输入帐号/密码,可以辅助进行程式脚本的设计喔!

  选项与参数: -p :后面可以直接接上远端FTP 主机提供的port -u :后面则是接上帐号与密码,就能够连接上远端主机了 如果没有加帐号密码, lftp 预设会使用anonymous 尝试匿名登入 -f :可以将指令写入脚本中,这样可以帮助进行shell script 的自动处理喔! -c :后面直接加上所需要的指令。

  #范例一:利用lftp登入昆山科大的FTP伺服器 [root@www ~]#

  至于登入FTP 主机后,一样可以使用『help』来显示出可以执行的指令,与ftp 很类似啦!不过多了书签的功能,而且也非常的类似bash 呐!很不错呦!除了这个好用的文字介面的FTP 软体之外,事实上还有很多图形介面的好用软体呢!最常见的就是gftp 了,非常的容易上手喔!CentOS 本身就有提供gftp 了,你可以拿出原版的光碟来安装,然后进入X Window 后, 启动一个shell ,输入『 gftp 』就能够发现他的好用啦!

  如果你想要定时的去捉下昆山科大FTP 网站下的/pub/CentOS/RPM-GPG* 的档案时,那么那个脚本应该要怎么写呢?我们尝试来写写看吧!

  open ftp.ksu.edu.tw cd /pub/CentOS/ mget -c -d RPM-GPG* bye []#

  现在应该大家都知道什么是MSN, 雅虎即时​​通以及其他的通讯软体吧?那么要连上这些伺服器时,该怎么处理哪?很简单,在X Window 底下使用pidgin 就好了!简直简单到不行~请先进入X Window 系统,然后经过『应用程式』-- 『网际网路』--『Pidgin 网路即时通』启动他即可(请注意你必须​​已经安装了pidgin 了,可用yum install pidgin 处理)。

  不过,伤脑筋的是,我们所安装的basic server 类型的CentOS 6.x 主要做为伺服器之用,所以连图形介面也没有给我们。所以,鸟哥又用另外一部主机安装成Desktop 的模式,利用该部主机来测试pidgin 这玩意儿的!因此, 底下的练习你也可以先略过,等到你安装另一部Desktop linux 时再来玩玩!

  在上图中按下『新增』,然后你会看到如下的画面:图5.3-2、pidgin 支援的即时通讯资料

  如上图,在画面中输入你的帐号与密码,如果是在公用的电脑上,千万不要按下『记住密码』项目喔!按下新增后, pidgin 预设就会尝试登入了!登入后的画面如下所示:

  如果想要登出了,那么就按下图5.3-4 最右边那个视窗,将『启动』的那个方框勾选取消,你就直接登出啰!

  什么?文字界面竟然有浏览器!别逗了好不好?呵呵!谁有那个时间在逗你呦!真的啦!有这个东西, 是在文字界面下上网浏览的好工具!分别是links 及wget 这两个宝贝蛋,但是,你必需要确定你已经安装了这两个套件才行。好佳在的是,CentOS 预设这两个玩意儿都有安装喔!底下就让我们来聊一聊这两个好用的家伙吧!

  其实早期鸟哥最常使用的是lynx 这个文字浏览器,不过CentOS 从5.x 以后预设使用的文字浏览器是links 这一支,这两支的使用方式又非常的类似,因此,在这一版当中,我们就仅介绍links 啰!若对lynx 有兴趣的话, 自己man 一下吧!

  查阅Linux本机上面以HTML语法写成的文件资料(document)』怎么说呢?如果你曾经到Linux本机底下的/usr/share/doc这个目录看过文件资料的话,就会常常发现一些网页档案,使用vi去查阅时,老是看到一堆HTML的语法!有碍阅读啊~这时候使用links就是个好方法啦!可以看的清清楚楚啊!^_^

  在鸟哥的CentOS 6.x 当中,有这么一个档案,我就可以利用links 来取出察看呐!显示的结果有点像底下这样:

  当然啦!因为你的环境可能是在Linux 本机的tty1~tty6 ,所以无法显示出中文,这个时候你就得要设定为: 『LANG=en_US』之类的语系设定才行喔!另外,如果某些时刻你必须上网点选某个网站以自动取得更新时。举例来说,早期的自动线上更新主机名称系统,仅支援网页更新,那你如何进行更新呢?嘿嘿!可以使用links 喔!利用 -dump 这个参数处理先:

  上面的网站后面有加个问号(?) 对吧?后面接的则是利用网页的『 GET 』功能取得的各项变数资料, 利用这个功能,我们就可以直接点选到该网站上啰!非常的方便吧!而且会将执行的结果输出到testfile 档案中,不过如果网站提供的资料是以『 POST 』为主的话,那鸟哥就不知道如何搞定了。GET 与POST 是通讯协定中,用来将资料透过浏览器上传到伺服器端的一种方式, 一般来说,目前讨论区或部落格等,大多使用可以支援较多资料的POST 方式上传啦!关于GET 与POST 的相关资讯我们会在第二十章WWW 伺服器当中再次的提及!

  很多时候由于我们的网路连线出现问题,使用类似ping的软体功能却又无法找出问题点,最常见的是因为路由与IP转递后所产生的一些困扰(请参考防火墙与NAT主机部分),这个时候要怎么办?最简单的方法就是『

  说实在的,对于tcpdump这个软体来说,你甚至可以说这个软体其实就是个骇客软体,因为他不但可以分析封包的流向,连封包的内容也可以进行『监听』,如果你使用的传输资料是明码的话,不得了,在router或hub上面就可能被人家监听走了!我们在第二章谈到的CSMA/CD流程中,不是说过有所谓的『监听软体』吗?这个tcpdump就是啦!很可怕呐!所以,我们也要来了解一下这个软体啊!(注:这个tcpdump必须使用root的身份执行)

  瞧!这样就仅提出port 21 的资讯而已,且仔细看的话,你会发现封包的传递都是双向的, client 端发出『要求』而server 端则予以『回应』,所以,当然是有去有回啊!而我们也就可以经过这个封包的流向来了解到封包运作的过程。举例来说:

  我们先在一个终端机视窗输入『 tcpdump -i lo -nn 』 的监听,

  再另开一个终端机视窗来对本机(127.0.0.1) 登入『ssh localhost』

  上面的输出结果已经被简化过了,你必须要自行在你的输出结果当中搜寻相关的字串才行。从上面输出结果的特殊字体中,我们可以发现『

  该FTP软体使用的是vsftpd ,并且使用者输入dmtsai这个帐号名称,且密码是mypasswordisyou』嘿嘿!你说可不可怕啊!如果使用的是明码的方式来传输你的网路资料?所以我们才常常在讲啊,网路是很不安全滴!

  另外你得了解,为了让网路介面可以让tcpdump 监听,所以执行tcpdump 时网路介面会启动在『错乱模式(promiscuous)』,所以你会在/var/log/messages 里面看到很多的警告讯息, 通知你说你的网路卡被设定成为错乱模式!别担心,那是正常的。至于更多的应用,请参考man tcpdump 啰!

  如何使用tcpdump 监听(1)来自eth0 介面卡且(2)通讯协定为port 22 ,(3)封包来源为192.168.1.101 的封包资料?

  tcpdump -i eth0 -nn port 22 and srchost 192.168.1.101

  tcpdump是文字介面的封包撷取器,那么有没有图形介面的?有啊!那就是wireshark (注1)这套软体。这套软体早期称为ethereal ,目前同时提供文字介面的tethereal以及图形介面的wireshark两个咚咚。由于我们当初安装时预设并没有装这套,因此妳必须要先使用yum去网路安装喔!也可以拿出光碟来安装啦!有两套需要安装,分别是文字介面的wireshark以及图形介面的wireshark-gnome软体。安装方式如下:

  yum install wireshark wireshark-gnome

  其实这一套软体功能非常强大!鸟哥这里仅讲简单的用法,若有特殊需求,就得要自己找找资料啰。想要开始撷取封包前,得要设定一下监听的介面之类的,因此点选图5.5-1 画面中的网路卡小图示吧!就会出现如下的画面给你选择了。

  在上图中,你得先选择想要监听的介面,鸟哥这里因为担心外部的封包太多导致画面很乱,因此这里使用内部的lo 介面来作为范例。你得要注意, lo 平时是很安静的!所以,鸟哥在点选了『start』之后,还有打开终端机, 之后使用『 ssh localhost 』来尝试登入自己,这样才能够获得封包喔!如下图所示:

  若没有问题,等到你撷取了足够的封包想要进行分析之后,按下图5.5-3 画面中的停止小图示,那么封包撷取的动作就会终止, 接下来,就让我们来开始分析一下封包吧!

  整个分析的画面如上所示,画面总共分为三大区块,你可以将滑鼠游标移动到每个区块中间的移动棒, 就可以调整每个区块的范围大小了。第一区块主要显示的是封包的标头资料,内容就有点类似tcpdump 的显示结果,第二区块则是详细的表头资料,包括讯框的内容、通讯协定的内容以及socket pair 等等资讯。第三区块则是16 进位与ASC​​II 码的显示结果(详细的封包内容)。

  如果你觉得某个封包有问题,在画面1 的地方点选该封包(图例中是第6 个封包),那么画面2 与3 就会跟着变动!由于鸟哥测试的封包是加密资料的封包,因此画面2 显示出封包表头,但画面3 的封包内容就是乱码啦!透过这个wireshark 你就可以一口气得到所需要的所有封包内容啦!而且还是图形介面的,很方便吧!

  这个nc 指令可以用来作为某些服务的检测,因为他可以连接到某个port 来进行沟通,此外,还可以自行启动一个port 来倾听其他用户的连线呐!非常的不错用!如果在编译nc 软体的时候给予『GAPING_SECURITY_HOLE』参数的话,嘿嘿!这个软体还可以用来取得用户端的bash 哩!可怕吧!我们的CentOS 预设并没有给予上面的参数, 所以我们不能够用来作为骇客软体~但是nc 用来取代telnet 也是个很棒的功能了!(有的系统将执行档nc 改名为netcat 啦!)

  接下来你再开另外一个终端机来看看,也利用nc 来连线伺服器,并且输入一些指令看看喔!

  此时,在用户端我们可以打入一些字,你会发现在伺服器端会同时出现你输入的字眼呐!如果你同时给予一些额外的参数,例如利用标准输入与输出(stdout, stdin) 的话,那么就可以透过这个连线来作很多事情了!当然nc 的功能不只如此,你还可以发现很多的用途喔!请自行到你主机内的/usr/share/doc/nc-1.84/scripts/ 目录下看看这些script ,有帮助的呐!不过,如果你需要额外的编译出含有GAPING_SECURITY_HOLE 功能, 以使两端连线可以进行额外指令的执行时,就得要自行下载原始码来编译了!

  修改网路介面的硬体相关参数,可以使用ifconfig 这个指令,包括MTU 等等;ifup 与ifdown 其实只是script ,在使用时,会主动去/etc/sysconfig/network-scripts 下找到相对应的装置设定档,才能够正确的启动与关闭;路由的修改与查阅可以使用route 来查询,此外, route 亦可进行新增、删除路由的工作;

  ip 指令可以用来作为整个网路环境的设定,利用ip link 可以修改『网路装置的硬体相关功能』, 包括MTU 与MAC 等等,可以使用ip address 修改TCP/IP 方面的参数,包括IP以及网域参数等等, ip route 则可以修改路由!

  ping 主要是透过ICMP 封包来进行网路环境的检测工作,并且可以使用ping 来查询整体网域可接受最大的MTU 值;侦察每个节点的连线状况,可以使用traceroute 这个指令来追踪!netstat 除了可以观察本机的启动介面外,还可以观察Unix socket 的传统插槽介面资料;host 与nslookup 预设都是透过f 内设定的DNS 主机来进行主机名称与IP 的查询;

  links 主要的功能是『浏览』,包括本机上HTML 语法的档案, wget 则主要在用来下载的资料;

  撷取封包以分析封包的流向,可使用tcpdump ,至于图形介面的wireshark 则可以进行更为详细的解析。

  透过tcpdump 分析三向交握,以及分析明码传输的资料,可发现网路加密的重要性。

  暂时将你的eth0 这张网路卡的IP 设定为192.168.1.100 ,如何进行?

  route add -net 192.l68.100.0 netmask 255.255.255.0 dev eth0

  我的网路停顿的很厉害,尤其是连接到的时候,那么我应该如何检查那个环节出了问题?我发现我的Linux 主机上面有个连线很怪异,想要将他断线,应该如何进行?以root 的身份进行『netstat -anp more』查出该连线的PID,然后以『 kill -9 PID 』踢掉该连线。

http://fyijournal.com/ziwangmen/17.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有