导航:首页 > 网络问题 > 网络中的主机是如何检测ip包的

网络中的主机是如何检测ip包的

发布时间:2022-12-20 20:12:58

电脑如何检测ip冲突

你好 这个判断方式很简单。
ip地址是为互联网上的每一个网络和每一台主机分配的一个逻辑地址,以此来屏蔽物理地址的差异。在同一个网段中 ip 地址都有唯一性。所以,只要你输入 ip 地址,并确认后,网络会自动判断这 ip 地址是否合法(有没有冲突)。
因此,不需要你检测,只要使用原有的地址,网络就会告诉你这个地址有没有人在用。

㈡ 谁能详细地解释一下TCP/IP

仔细看看这归咎好啦,不过别做损人利己的事哦,呵呵
TCP/IP(图片请参考我的参考资料网址)

1. 前言

本文用于介绍TCP/IP协议的最基本内容,十分简单,也十分基本,如果希望了解详细的内容,请参阅其它资料,这只是给初学者用的。

2. TCP/IP介绍

TCP/IP通常指的是关于TCP和IP的任何东西,它是一个统称,它既可以包括其它协议,其它应用程序,还可以包括网络介质。

2.1 基本结构

为了理解这个技术,最好称理解下图:

这个结构存在于Internet中计算机之中,它决定了计算机在网络上的动作。

2.2 名词

数据块的名称会因为它处于不同的协议栈而不同。这里给出一个总结:在以太网时,它称为一个以太网帧,在IP上时,它称为IP包,如果数据在IP和UPD之间一般称为UDP数据报,而数据如果在IP和TCP之间,则称为TCP段(或消息),而数据在应用程序中时,则称为应用程序消息。这种定义不是绝对的,不同的文章会有不同的说法。

2.3 数据流

数据流从应用程序流向TCP或UDP,我们通常知道的FTP是应用TCP协议的,而SNMP协议却是使用UDP协议的。数据由不同协议模块流向同一个以太网适配器。由适配器将数据传送到网络介质上去。上面的过程在接收方反向发生。

以太帧传送到ARP或IP模块中,而以太帧中的数据决定此数据是由IP还是由ARP处理。如果是供IP处理的包,则由IP模块直接传送给TCP或UPD,具体传送给谁这由IP包头决定。而UDP包内的数据决定了应该由UPD协议上层的哪一个应用程序接收这个数据,这一点和TCP是一致的。数据在从应用程序下传到网络时,过程比较简单,各层把在数据上加入自己的包头信息,然后传送给下一层就行了。虽然Internet支持多种网络介质,但是一般我们都拿以太网范例。这里我们需要记住的是以太地址是唯一的,全球唯一的。计算机同时也拥有一个四个字节的IP地址,这个地址用于标记IP模块的地址,但对于Internet来说,IP地址不见得是唯一的。一台运行着的计算机通常知道自己的IP地址和以太地址。

2.4 两个网络接口

下图中一台计算机连接了两个以太网。

请注意:上图中的计算机拥有两个IP地址和以太地址。这时IP模块将对应于多个物理适配器。

多个IP模块对应多个物理适配器时,情况要复杂一些。

上图说明了IP转发的过程,专用于转发IP包的计算机我们称为IP路由器。从上图中我们可以看出,IP转发的时候根本不需要TCP和UDP,所以有些IP路由器的实现中根本没有TCP和UPD模块。

2.5 IP创建信号逻辑网络

数据在从应用程序向网络介质传送的过程中,被各种协议加上包头,而由网络介质向应用程序传送时,这些加入的包头被一个个取消,而IP层加入的信息构成了一个逻辑网络,这个逻辑网络是相对于多个物理网络而言的。多个物理网络相互连接,就是我们现在经常听到的Internet的由来。

2.6 物理网络独立性

IP将下层的网络结构对上层的应用程序隐藏起来,如果您发明了一种新的网络,您只需要实现一种驱动程序,让它能够和IP进行通信就可以使您的网络连接入Internet。

2.7 互连性

如果Internet上的两台计算机能够进行通信,我们称它们互连了。我们的计算机一般都具有互连性,因此我们购买的计算机一般都可以在网络上相互通信。

3. Ethernet

下面我们看看以太技术,一个以太帧包括源地址,目的地址,类型域和数据。一个以太地址6个字节,每个以太适配器都有唯一的以太地址,而地址"FF-FF-FF-FF-FF-FF"代表一个广播地址。以太网使用CSMA/CD技术,这个技术使设备共享一条传输介质,某一时刻只能一台设备传送数据,如果两台同时传送就会产生冲突,而解释这种冲突的办法就是两个设备停一会儿(一个随机的时间)再传送数据。

我们可以把以太技术想成许多人在一个黑屋子里说话,如果每次只有一个人说,那么对这个话感兴趣的人就会听到,记录下来,而不感兴趣的人就不管它就是了。如果两个人同时说,两个人就会听到自己在说话的时候还有另外一个人也在说,于是就停下来,过一会儿再说,这样来达到传送消息的目的。这里需要注意的是,屋子里的每个人有一个唯一的名字,这个名字就是以太地址,而如果某个人想对所有人说话,它就应用那个广播地址传送消息就可以了。

4. ARP

ARP是为了解决IP包发出后,目的以太地址如何确定的问题。ARP是用来将IP地址解释为以太地址的协议,这个协议只对由IP传出的数据有用。

4.1 ARP地址翻译表

这个翻译的过程中通过查询一张表进行的,每个机器的IP地址和以太网卡号就在这个表中,如果我想向一个IP地址发送消息,只需要查询一下这张表,知道目的以太地址是什么就可以了。下面就是一张这个的ARP表:

IP地址 以太地址
223.1.2.1 08-00-39-00-2F-C3
223.1.2.3 08-00-5A-21-A7-22
223.1.2.4 08-00-10-99-AC-54

图1. ARP表

IP地址在机器内部是一个4字节数,而人类的表示是如上表中的表示方法,这种方法称为点为十进制。这种翻译表是必须的,因为IP地址的选择和以太地址的选择是独立进行的。以太地址是生产厂商根据分配给它的地址空间直接烧结在网卡上的。

4.2 经典的翻译过程

在通常网络操作进行时,应用程序发送消息到TCP(或UDP),由TCP(或UDP)传送消息到IP模块,目的IP地址是已知的,在将这个包传送到以太适配器时一定要查找这个翻译表知道目的以太地址是什么。而这时ARP就管用了。

4.3 ARP请示/响应对

但是,ARP表如何从空变得那么充实呢?这是由ARP协议来完成填充工作的,它工作的基本过程是“需时再取”的原则。当ARP不能用于查询以太地址时,会发生下面两件事情:

1. ARP用以太广播地址发送一个以太包到网络上,所有的计算机都会接收到这个包;

2. 将需要发送的IP包放入发送队列中;

发出的那个以太包就象一个问路的人一样,它带有如下信息:“如果您的IP地址和我想找的IP地址一样,请告诉我您的以太地址”,下面是一个ARP请示包的例子:

发送者IP地址 223.1.2.1
发送者以太地址 08-00-39-00-2F-C3
目标IP地址 223.1.2.2
目标以太地址 (空)

表2. ARP请示包例子

每台计算机的ARP模块检查自己的IP地址是不是和这个包内的IP地址一致,如果不一致,就什么也不干,如果一致,则返回一个响应,其中包括的信息指出了这个IP地址的以太地址。下面是一个响应包的例子:

发送者IP地址 223.1.2.2
发送者以太地址 08-00-28-00-38-A9
目标IP地址 223.1.2.1
目标以太地址 08-00-39-00-2F-C3

表3. ARP响应包例子

这个响应由原来发出请求的计算机接收,ARP就将相应的IP地址和以太地址加入ARP表中,这个过程不断地发生,这个表也就不断地加大了,更新过的ARP表如下图所示:

IP地址 以太地址
223.1.2.1 08-00-39-00-2F-C3
223.1.2.2 08-00-28-00-38-A9
223.1.2.3 08-00-5A-21-A7-22
223.1.2.4 08-00-10-99-AC-54

表4. 更新后的ARP表

这个请求与响应的过程十分迅速,放入队列的IP包现在可以取出发送了,因为所需要的以太地址已经有了,可以发送了。如果没有目的主机,发出的请求就不会有回应,IP层抛弃需要发送的IP包,而上层协议也不清楚是网络断了,还是不存在目的主机,IP层不负责报告错误类型。

5. Internet协议

IP模块是Internet技术的核心,而它的路由技术是它成为核心的基础。了解路由需要也解互连是什么。

5.1 直接路由

下图是一个只有三台计算机的小网络,每台计算机有运行一个TCP/IP协议栈,每个计算机配有以太适配器,每个计算机都被指定一个独立的IP地址。

当A发送IP包到B时,IP包头包括A的IP地址(这是源地址)和A的以太地址(这是源以太地址);同时这个包也包括B的IP地址和以太地址作为目的地址。

地址 源 目的
IP头 A B
以太头 A B

表5. 从A到B的IP包

在这种情况下,使用IP是多余的,因为它根本没有起到什么作用,用IP只能增加多余的处理时间,占用了多余的传输带宽。B接收到这个包后,IP层检查这个包内的目的地址是不是和自己的IP地址一致,如果一致则将数据返回给上层协议。这称为直接路由。

5.2 间接路由

下面这个示意图更接近Internet真实的情况。三个小的以太网,每个网络中有三台计算机,它们有唯一以太地址,IP地址,这三个网络通过一台路由器连接,这台路由器有一个IP地址和三个以太地址,因为它和三个网络连接,当然要三个了。这里一定要记住,IP地址只有一个。

计算机D是一台路由器,它的TCP/IP协议栈内可能根本没有TCP和UDP,而可能有多个ARP模块和多个以太驱动程序(因为有多个以太适配器,所以要多个驱动程序才可以)。网络管理员为每个子网(上图中有三个子网)指定一个网络号,是这个网络的名称,这个名称在上图是没有表示。

如果计算机A希望和计算机B通信,采用直接路由就可以了。这个过程上面已经说过了。在同一个子网内均采用直接路由。如果计算机D希望和计算机A通信,这也是直接路由,直接通信就行了,D和其它所有计算机的通信都是直接通信。但是如果计算机A希望和非本子网内的计算机通信就不能采用直接路由了,它发送的IP包必须发到计算机D,由计算机D向其它网络发送,这种通信就是非直接的。

路由对于IP协议上层的协议来说是透明的,它们根本不知道有什么路由存在。

请注意下面的图,源地址是计算机A的,目的IP地址是计算机E,而目的以太地址却是计算机D的,这是因为计算机A和计算机E不处于同一个子网内,不能直接通信,需要由计算机D进行转发,因此这包只能发往计算机。

地址 源 目的
IP头 A E
以太头 A D

表6. 从计算机A到计算机E以太帧示意图

对于计算机D来说,它的以太帧地址如下:

地址 源 目的
IP头 A E
以太头 D E

表7. 从计算机D到计算机E以太帧示意图

因为计算机D和计算机E可以直接通信。我们可以看到,在直接通信时,目的IP地址和以太地址都是接收者的,而在非直接通信时,目的IP地址是接收者的,而目的以太地址却是路由器的。上面的例子比较简单,真实的路由要比这个复杂得多,因为现实中的网络十分大,要许多路由器同时工作,这时的情况就比较复杂了。

5.3 IP路由规则

对于要发出的IP包,IP必须决定如何发送,是采用直接发送还是非直接发送,这是在路由表的帮助下完成的。对于传入的IP包,IP模块必须能够识别它是不是自己需要的包,如果是自己需要的,就把数据传送到上一层协议中,如果不需要则进行转发。在IP包达到目的地址后,它不再转发了。

5.4 IP地址

IP地址是由网络管理者为一台计算机指定的地址,IP地址的一部分作为网络号,另一部分作为网络中的主机号。具体内容请大家查询相关资料。IP地址是由NIC管理的,所有直接连接到Internet上的计算机如果需要IP地址,必须和NIC联系,则它指定;如果您需要建立自己的网络,那相应的网络号也需要从NIC取得。

5.5 名称

人们喜欢使用计算机的名称,而不喜欢使用数字来标记一台计算机,对于小型网络,计算机名和IP地址的对应表可以保存在每台计算机上,如果是一个大型网络,则需要一台专用的计算机来负责IP地址到计算机名的转换。下面就是一个IP地址和计算机名的对应表。

223.1.2.1 alpha

223.1.2.2 beta

223.1.2.3 gamma

223.1.2.4 delta

223.1.3.2 epsilon

223.1.4.2 iota

前一列是IP地址,后一列是计算机名。您可以为一个计算机名指定多个IP地址,那么通过哪一个IP地址都可以访问这台计算机。这个拥有多个IP地址的计算机在接收到包后,可以根据目的地址知道是不是发向自己的包,这个目的地址可以是自己的任何一个地址。名称也用于网络号,下面就是一个例子:

223.1.2 development

223.1.3 accounting

223.1.4 factory

前一列是IP地址,后一列是网络名。我们可以这个表上面的表对比一下,看看各个计算机属于什么网络

5.6 IP路由表

我们上面已经提到过路由表这个名词,下面我们就仔细看一下这张表。它通常是由下面几列构成的:IP网络号,直接/非直接标记,路由器IP地址和接口号。这张表一般由管理员负责维护,因为是他为你的计算机指定了IP地址。

5.7 直接路由

下面我们仔细看一下我们上面看过的直接路由的例子。

在计算机alpha内的路由表如下所示:

网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1

表8. 路由表范例

我们可能通过UNIX下的"netstat -r"命令看到类似这样的结果。

5.8 实例

Alpha发送IP包到beta,alpha中的IP包的目的地址是beta的地址(223.1.2.2)。IP取得网络号部分,查询路由表中的第一部分,看这个包应该包到什么地方,它发现这个网络和表中的第一个项目一致。而这个项目中的其它信息表示,目的计算机可以直接通信,于是直接进行ARP翻译(解析),通过接口1发送数据。

5.9 非直接路由

下面我们仔细看一下我们上面看过的非直接路由的例子。

计算机alpha内的路由表如下所示:

网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1
accounting 非直接 devnetrouter 1
factory 非直接 devnetrouter 1

表10. Alpha内的路由表

5.10 实例

Alpha发送IP包到epsilon,IP包内的目的地址是epsilon的(223.1.3.2)。IP分析目的地址的网络号部分,查询路由表中的第一列,发现第二个项目符合条件。此项目中的信息表示计算机可以由路由器devnetrouter达到,Alpha的IP模块进行ARP解析,将数据通过接口1传送到devnetrouter的IP地址上。这个包仍然包括着目的机IP地址223.1.3.2。这个包到达development网络接口,传送到delta计算机的IP模块,delta计算机发现这个包不是给它的,于是决定转发。Delta的IP模块从目的地址中解析出网络号,查询路由表,Delta的路由表如下所示:

网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1
factory 直接 (空) 3
accounting 直接 (空) 2

表11. Delta的路由表

第二条符合条件,于是IP模块接口3将数据发送到计算机epsilon,IP包到达epsilon时,epsilon的IP模块发现目的地址和自己的一致,于是将接收到的数据向上一层协议传送。

5.11 路由总结

在一个大型网络中,IP包在到达目的计算机前一般需要经过多个路由器,它前进的路线不是事先定好的,而是在各个路由器上一步步查询出来的,每个计算机只管一段,只保证把数据传送到下一站,至于下一站怎么办,它就不管了。

5.12 管理路由

在大型网络的每台机器上支持一张路由表可不是件容易事,路由器如果出了问题会对网络传输不能进行。我们也可以使用ICMP协议对网络进行监控。一台机器从一个地方移到另一个地方必须更改计算机的IP地址,如果要更新主机地址文件,这简单是不可能的,而DNS帮助解决这个问题。

6. 用户数据报协议(UDP)

UDP是在IP上的两个重要协议之一,它为用户的网络应用程序提供服务,我们经常使用的NFS,SNMP就是使用UDP协议的。UDP协议不是面向连接的。这一点是和TCP协议不同的。UDP在IP包上加上了端口号和校验码两个参数。

6.1 端口

一台计算机上的客户程序如何达到服务器呢?应用程序和UDP的通信线路是通过UDP端口一样的,这些端口是数字的,以0开始,一个端口一般和一个服务对应。服务器和客户就在这个端口等待对方的请求(或应答)。UDP保留由应用程序定义的消息边界。它决不把两个消息连接起来,或把一个消息分成两部分。

6.2 校验码

如果接收到的IP包内有一个标记“UDP”,IP模块就把数据传送到UDP,UDP检查校验码,如果运算得出的结果为0,数据是正确的。UDP的校验码可以产生也可以不产生。传送来的UDP包如果超过了上层应用程序的处理能力,就会暂时保存起来,如果保存的数据已经超过一定限制,则把UDP丢弃。

7. 传输控制协议(TCP)

TCP提供的服务不同于UDP,它们的最大区别在于TCP是面向连接的,TCP保证数据一定传送到接收者,而UDP可不保证。TCP用于一定要保证数据传输的场合,我们通常知道的FTP,TELNET是基于TCP协议的,而其它的一些TCP网络应用程序包括X-Window系统,rcp(远程复制)和R系列命令也是使用TCP的,TCP提供这样好的服务也是有代价的,它需要更多的CPU处理时间和网络带宽,TCP模块的复杂度也比UDP大得多。

与UDP相同的是,应用程序必须和TCP端口连接请求服务,接收和发送数据。在应用程序开始运行时,服务器和客户机上的TCP模块开始相互通信,这两个TCP包含了状态信息,维持一条虚链路,这条虚链路是全双工的。TCP可以任意打包数据,不必管什么边界。例如,应用程序可以在一个端口写5次,远方的应用程序可以读10次把数据读完,这和UDP不同,在UDP下,在一个端口写几次,远程应用程序就要读几次。

TCP支持滑动窗口协议,双方都进行流量控制,因此不会让缓冲区满。这也和UDP不同,在UDP的情况下,缓冲区可能因为应用程序的处理能力不足而变满。对于滑动窗口协议,它指定了一个窗口大小,这个大小指的是,在未接收到确认信息之前允许发送的数据数,在TCP中,窗口的大小是以字节为单位的。

8. 网络应用程序

TCP和UDP提供不同的服务,不同的应用程序会选择不同的协议,这里请您注意,如果您选择使用UDP进行可靠传输,那只能在UDP上层来提供可靠性。下面我们举出几个常用的应用程序。

TELNET使用TCP提供远程登录。TELNET工作得非常好,它虽然古老,但是现在仍然在广泛使用,它经常用于在不同的操作系统间进行互连。 FTP协议和TELNET岁数差不多大了,它也使用TCP服务,在FTP时,您好象登录到远程计算机上,但您能够使用的命令却不那么多,FTP提供用户在计算机间复制文件的服务。UNIX中的远程命令一般都以R开始,这些命令一般都通过网络进行,我们就称它们为R系列命令,这些命令通常在UNIX系统中使用,它对安全性考虑不多,但是非常好用。NFS由Sun公司开发,它使用UDP,它用于在不同的计算机上加载UNIX文件系统,在这一点上它做得非常好。NFS为网络加重了负担,在慢速连接的网络上工作得不好,但它的功能可却是不错。随着网络规模不断扩大,原来的网络管理协议ICMP已经不能提供满意的服务了,于是在这一要求下提出了SNMP协议,它检测网络中各种设备的情况,根据这种情况对网络进行监控。X Window系统使用X Window协议,X Window协议也使用TCP服务

㈢ 请前辈讲解一下TCP/IP的知识

TCP/IP应该是个协议集,根据OS的七层理论,TCP/IP分为四层.分别是应用,传输,Interne和网络界面.
我们一般说TCP在传输层,而IP在Internet层.
TCP/IP的应用程序包括我们平时经常用到的Ping,Telnet,Ftp,Finger等等
配置TCP/IP包括IP地址,子网掩码和缺省网关
正确检测TCP/IP的四个步骤:PIng 127.0.0.1(回环地址)如果通表示TCP/IP已经装入,Ping自己表明客户机正常(主要是网卡),Ping网关表示局域网正常,Ping路由外地址表示完全正常,当然你也可以直接进行第四步,一般来说没这么麻烦的,但理论是基础:-)
IP地址是四段八位的二进制数组成的,IP分为A,B,C,D,E五类地址
A类高端为0,从1.x.y.z~126.x.y.z .B类高端为10,从128.x.y.z~191.x.y.z C类高端为110,从192.x.y.z~223.x.y.z D类高端为1110是保留的IP地址 E类高端为1111,是科研用的IP地址
其中255是广播地址,127是内部回送函数

若公司不上Internet,那一定不会烦恼IPAddress的问题,因为可以任意使用所有的IPAddress,不管是AClass或是BClass, 这个时候不会想到要用SubNet,但若是上Internet那IPAddress 便弥足珍贵了,目前全球一阵Internet热,IPAddress已经愈来愈少了,而所申请的IPAddress目前也趋保守,而且只有经申请的IPAddress能在Internet使用,但对某些公司只能申请到一个CCLass的IPAddress,但又有多个点需要使用,那这时便需要使用到Subnet,这篇短文说明Subnet的原理及如 何规划。
SubnetMask的介绍
设定任何网路上的任何设备不管是主机、PC、Router等皆需要设定IPAddress,而跟随着IPAddress的是所谓的NetMask, 这个NetMask主要的目的是由IPAddress中也能获得NetworkNumber ,也就是说IPAddress和NetMask作AND而得到NetworkNumber,如下所 示

IPAddress 192.10.10.611000000.00001010.00001010.00000110
NetMask 255.255.255.011111111.11111111.11111111.00000000
AND -------------------------------------------------------------------
etworkNumber 192.10.10.011000000.00001010.00001010.00000000

NetMask有所谓的预设值,如下所示
ClassIPAddress范围NetMask
A 1.0.0.0-126.255.255.255255.0.0.0
B 128.0.0.0-191.255.255.255255.255.0.0
C 192.0.0.0-223.255.255.255255.255.255.0

在预设的NetMask都只有255的值,在谈到SubnetMask时这个值便不一定是255了。
在完整一组CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0, 203.67.10.0称之NetworkNumber(将IPAddress和Netmask作AND),而 203.67.10.255是Broadcast的IPAddress,所以这?两者皆不能使用,实际只能使用203.67.10.1--203.67.10.254等254个IPAddress,这是以 255.255.255.0作NetMask的结果,而所谓SubnetMsk尚可将整组C Class分成数组NetworkNumber,这要在NEtMask作手脚,若是要将整组CCLass分成2个NetworkNumber那NetMask设定为255.255.255.192, 若是要将整组CCLass分成8组NetworkNumber则NetMask要为 255.255.255.224,这是怎麽来的,由以上知道NetworkNumber是由IP Address和NetMask作AND而来的,而且将NetMask以二进位表示法知道是1的会保留,而为0的去掉

192.10.10.193--11000000.00001010.00001010.10000001
255.255.255.0--11111111.11111111.11111111.00000000
--------------------------------------------------------------
192.10.10.0--11000000.00001010.00001010.00000000

以上是以255.255.255.0为NetMask的结果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask结果便有所不同

192.10.10.193--11000000.00001010.00001010.10000000
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192--11000000.00001010.00001010.10000000

此时NetworkNumber变成了192.10.10.192,这便是Subnet。
那要如何决定所使用的NetMask,255.255.255.224以二进位表示法为11111111.11111111.11111111.11100000,变化是在最后一组,11100000 便是224,以三个Bit可表示2的3次方便是8个NetworkNumber
NetMask二进位表示法可分几个Network
255.255.255.0 11111111.11111111.11111111.000000001
255.255.255.128 11111111.11111111.11111111.100000002
255.255.255.192 11111111.11111111.11111111.110000004
255.255.255.224 11111111.11111111.11111111.111000008
255.255.255.240 11111111.11111111.11111111.1111000016
255.255.255.248 11111111.11111111.11111111.1111100032
255.255.255.252 11111111.11111111.11111111.1111110064

以下使用255.255.255.224将C Class203.67.10.0分成8组NetworkNumber,各个NetworkNumber及其BroadcastIPAddress及可使用之IPAddress
序号NetworkNumberBroadcast可使用之IPAddress
1 203.67.10.0 203.67.10.31 203.67.10.1-203.67.10.30
2 203.67.10.32 203.67.10.63 203.67.10.33-203.67.10.62
3 203.67.10.64 203.67.10.95 203.67.10.65-203.67.10.94
4 203.67.10.96 203.67.10.127 203.67.10.97-203.67.10.126
5 203.67.10.128 203.67.10.159 203.67.10.129-203.67.10.158
6 203.67.10.160 203.67.10.191 203.67.10.161-203.67.10.190
7 203.67.10.192 203.67.10.223 203.67.10.193-203.67.10.222
8 203.67.10.224 203.67.10.255 203.67.10.225-203.67.10.254

可验证所使用的IPAddress是否如上表所示
203.67.10.115--11001011.01000011.00001010.01110011
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.96--11001011.01000011.00001010.01100000
203.67.10.55--11001011.01000011.00001010.00110111
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.32--11001011.01000011.00001010.00100000
其他的NetMask所分成的NetworkNumber可自行以上述方法自行推演出来。
Subnet的应用
使用Subnet是要解决只有一组CClass但需要数个NetworkNumber的问题,并不是解决IPAddress不够用的问题,因为使用 Subnet反而能使用的IPAddress会变少,Subnet通常是使用在总公司在台北,但分公司在台中,两者之间使用Router连线 ,同时也上Internet,但只申请到一组CCLassIPAddress,过Router又需不同的Network,所以此时就必须使用到Subnet,当然二办公司间可以RemoteBridge连接,那便没有使用Subnet的问题,这点在此不讨论,所以在以上情况下的网路连线架构及IPAddress的使用

TCP/IP(传输控制协议/ 网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。 TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。

在任何一个物理网络中, 各站点都有一个机器可识别的地址,该地址叫做物理地址. 物理地址有两个

特点:

物理地址的长度,格式等是物理网络技术的一部分, 物理网络不同,物理地址也不同.
同一类型不同网络上的站点可能拥有相同的物理地址.
以上两点决定了,不能用物理网络进行网间网通讯.
在网络术语中,协议中,协议是为了在两台计算机之间交换数据而预先规定的标准。TCP/IP并不是一个而是许多协议,这就是为什么你经常听到它代表一个协议集的原因,而TCP和IP只是其中两个基本协议而已。
你装在计算机-的TCP/IP软件提供了一个包括TCP、IP 以及TCP/IP协议集中其它协议的工具平台。特别是它包括一些高层次的应用程序和FTP(文件传输协议),它允许用户在命令行上进行网络文件传输。
TCP/IP是美国政府资助的高级研究计划署(ARPA)在二十世纪七十年代的一个研究成果,用来使全球的研究网络联在一起形成一个虚拟网络,也就是国际互联 网。原始的
Internet通过将已有的网络如ARPAnet转换到TCP/IP上来而形成,而这个Internet最终成为如今的国际互联网的骨干网。
如今TCP/IP如此重要的原因,在于它允许独立的网格加入到Internet或组织在一起形成私有的内部网(Intranet)。构成内部网的每个网络通过一种-做路由器或IP路由器的设备在物理上联接在一起。路由器是一台用来从一个网络到另一个网络传输数据包的计算机。在一个使用TCP/IP的内部网中,信息通过使用一种独立的叫做IP 包(IPpacket)或IP数据报(IPdatagrams)的数据单元进--传输。TCP/IP 软件使得每台联到网络上的计算机同其它计算机“ 看”起来一模一样,事实上它隐藏了路由器和基本的网络体系结构并使其各方面看起来都像一个大网。如同联入以太网时需要确认一个48位的以太网地址一样,联入一个内部网也需要确认一个32位的IP地址。我们将它用带点的十进制数表示,如128.10.2.3。给定一个远程计算机的IP地址,在某个内部网或Internet上的本地计算机就可以像处在同一个物理网络中的两台计算机那样向远程计算机发送数据。
TCP/IP提供了一个方案用来解决属于同一个内部网而分属不同物理网的两台计算机之间怎样交换数据的问题。这个方案包括许多部分,而TCP/IP协议集的每个成员则用来解决问题的某一部分。如TCP/IP协议集中最基本的协议-IP协议用来在内部网中交换数据并且执行一项重要的功能:路由选择--选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越(hop)。
TCP是一个更高层次的它允许运行在在不同主机上的应用程序相互交换数据流。TCP将数据流分成小段叫做TCP数据段(TCPsegments),并利用IP协议进行传输。在大多数情况下,每个TCP数据段装在一个IP数据报中进行发送。但如需要的话,TCP将把数据段分成多个数据报,而IP数据报则与同一网络不同主机间传输位流和字节流的物理数据帧相容。由于IP并不能保证接收的数据报的顺序相一致,TCP会在收信端装配TCP数据段并形成一个不间断的数据流。FTP和Telnet就是两个非常流行的依靠TCP的TCP/IP应用程序。
另一个重要的TCP/IP协议集的成员是用户数据报协议(UDP),它同TCP相似但比TCP原始许多。TCP是一个可靠的协议,因为它有错误检查和握手确认来保证数据完整的到达目的地。UDP是一个“不可靠”的协议,因为它不能保证数据报的接收顺序同发送顺序相同,甚至不能保证它们是否全部到达。如果有可靠性要求,则应用程序避免使用它。同许多TCP/IP工具同时提供的SNMP( 简单网络管理协议)就是一个使用UDP协议的应用例子。
其它TCP/IP协议在TCP/IP网络中工作在幕后,但同样也发挥着重要作用。例如地址转换协议(ARP)将IP地址转换为物理网络地址如以太网地址。而与其对应的反向地址转换协议(RARP)做相反的工作,即将物理网络地址转换为IP地址。网际控制报文协议(ICMP)则是一个支持性协议,它利用IP完成IP数据报在传输时的控制信息和错误信息的传输。例如,如果一个路由器不能向前发送一个IP数据报,它就会利用ICMP来告诉发送者这里出现了问题。

网络设计者在解决网络体系结构时经常使用ISO/OSI(国际标准化组织/开放系统互连)七层模型,该模型每一层代表一定层次的网络功能。最下面是物理层,它代表着进行数据转输的物理介质,换句话说,即网络电缆。其上是数据链路层,它通过网络接口卡提供服务。最上层是应用层,这里运行着使用网络服务的应 用程序。
TCP/IP是同ISO/OSI模型等价的。当一个数据单元从网络应用程序下流到网络接口卡,它通过了一列的TCP/IP 模块。这其中的每一步,数据单元都会同网络另一端对等TCP/IP模块所需的信息一起打成包。这样当数据最终传到网卡时,它成了一个标准的以太帧(假设物理网络是以太网)。而接收端的TCP/IP软件通过剥去以太网帧并将数据向上传输过TCP/IP栈来为处于接收状态的应用程序重新恢复原始数据(一种最好的了解TCP/IP工作实质的方法,是使用探测程序来观察网络中的到处流动的帧中被不同TCP/IP模块所加上的信息)。
为了勾勒TCP/IP在现实网络世界中所扮演的角色,请考虑当使用HTTP(超文本传输协议)的Web浏览器从连接在Internet上的Web服务器上获取一页HTML数据时所发生的情况。为形成同Web服务器的虚链路,浏览器使用一种被抽象地称为套接口(socket)的高层软件。为了获取Web页,它通过向套接口向套接口写入HTTPGET命令来向Web 服务器发出该指令。接下来套接口软件使用TCP协议向 Web服务器发出包含GET命令的字节流和位流,TCP将数据分段并将各独立段传到IP模块,该模块将数据段转换成数据报并发送给Web服务器。
如果浏览器和服务器运--在不同物理网络的计算机上(一般情况如此),数据报从一个网络传到另一个网络,直到抵达服务器所在的那个网。最终,数据被传输到目的地址并被重新装配,这样Web服务器通过读自己的套接口来获得数据主干,并进而查看连续的数据流。对浏览器和服务器来说,数据在这一端写入套接口而在另一端出现如同魔术一般,但这只是底下发生的各种复杂的交互,它创造了数据经过网络无 缝传输的假象。
这就是TCP/IP所做的:将许多小网联成一个大网。并在这个大网也就是Internet上提供应用程序所需要的相互通信的服务。
评论:
对于TCP/IP有许多可谈的,但这里仅讲三个关键 点:
·TCP/IP是一族用来把不同的物理网络联在一起构成网际网的协议。TCP/IP联接独立的网络形成一个虚拟的网,在网内用来确认各种独立的不是物理网络地址,而是IP地址。
·TCP/IP使用多层体系结构,该结构清晰定义了每个协议的责任。TCP和UDP向网络应用程序提供了高层的数据传输服务,并都需要IP来传输数据包。IP有责任为数据包到达目的地选择合适的路由。
·在Internet主机上,两个运行着的应用程序之间传送要通过主机的TCP/IP堆栈上下移动。在发送端TCP/IP 模块加在数据上的信息将在接收端对应的TCP/IP模块上滤掉,并将最终恢复原始数据。
如果你有兴趣学习更多的TCP/IP知识,这里有两个较高层次的信息源RFC(RequestforComment)1180——叫做“TCP/IP Tutorial”的文档,你可以从许多普及的RFC的Internet节点上下载。另一个是InternetworkingwithTCP/IP的第一卷:Principles,Protocols,and Architectures,作者DouglasE.Comer(1995,Prentice-Hall)。作为该系三部曲中的第一部分,许多人把看成是一本TCP/IP圣经。(原文刊载于Vol.15No.20)

二、传输层的安全性
在Internet应用编程序中,通常使用广义的进程间通信(IPC)机制来与不同层次的安全协议打交道。比较流行的两个IPC编程界面是BSD Sockets和传输层界面(TLI),在Unix系统V命令里可以找到。
在Internet中提供安全服务的首先一个想法便是强化它的IPC界面,如BSD Sockets等,具体做法包括双端实体的认证,数据加密密钥的交换等。Netscape通信公司遵循了这个思路,制定了建立在可靠的传输服务(如TCP/IP所提供)基础上的安全套接层协议(SSL)。SSL版本3(SSL v3)于1995年12月制定。它主要包含以下两个协议:
SSL记录协议它涉及应用程序提供的信息的分段、压缩、数据认证和加密。SSL v3提供对数据认证用的MD5和SHA以及数据加密用的R4和DES等的支持,用来对数据进行认证和加密的密钥可以通过SSL的握手协议来协商。
SSL握手协议 用来交换版本号、加密算法、(相互)身份认证并交换密钥。SSL v3 提供对Deffie-Hellman密钥交换算法、基于RSA的密钥交换机制和另一种实现在 Fortezza chip上的密钥交换机制的支持。
Netscape通信公司已经向公众推出了SSL的参考实现(称为SSLref)。另一免费的SSL实现叫做SSLeay。SSLref和SSLeay均可给任何TCP/IP应用提供SSL功能。Internet号码分配当局(IANA)已经为具备SSL功能的应用分配了固定端口号,例如,带SSL的 HTTP(https)被分配的端口号为443,带SSL的SMTP(ssmtp)被分配的端口号为465,带SSL的NNTP(snntp)被分配的端口号为563。
微软推出了SSL2的改进版本称为PCT(私人通信技术)。至少从它使用的记录格式来看,SSL和PCT是十分相似的。它们的主要差别是它们在版本号字段的最显着位(The Most Significant Bit)上的取值有所不同: SSL该位取0,PCT该位取1。这样区分之后,就可以对这两个协议都给以支持。
1996年4月,IETF授权一个传输层安全(TLS)工作组着手制定一个传输层安全协议(TLSP),以便作为标准提案向IESG正式提交。TLSP将会在许多地方酷似SSL。
前面已介绍Internet层安全机制的主要优点是它的透明性,即安全服务的提供不要求应用层做任何改变。这对传输层来说是做不到的。原则上,任何TCP/IP应用,只要应用传输层安全协议,比如说SSL或PCT,就必定要进行若干修改以增加相应的功能,并使用(稍微)不同的IPC界面。于是,传输层安全机制的主要缺点就是要对传输层IPC界面和应用程序两端都进行修改。可是,比起Internet层和应用层的安全机制来,这里的修改还是相当小的。另一个缺点是,基于UDP的通信很难在传输层建立起安全机制来。同网络层安全机制相比,传输层安全机制的主要优点是它提供基于进程对进程的(而不是主机对主机的)安全服务。这一成就如果再加上应用级的安全服务,就可以再向前跨越一大步了。

㈣ 5种检测IP地址是否是代理的方法

通常,当任何人想要检测IP是否是代理时,这是因为他们正试图决定减少对该代理的访问,并因此禁止使用代理的人。

那是你的意图吗?如果是这样,那很好。

但是,要知道,本文更多是关于为代理用户(而非阻止者)提供工具,以便更深入地了解他们使用的技术,并在免费代理和代理提供者上运行自己的测试。

我之所以这样说,主要是因为我支持使用代理,而且我不认为它们应该被公司直接屏蔽。

也就是说,讨论代理用户为什么要检入某些IP地址是很重要的。

最常见的原因是确定免费代理的合法性。除了检查匿名,透明或精英级别之外,重要的是要查看使用的是哪种代理用户(请参见下文)以及代理的原始来源。如果您要使用免费代理,最好知道它的来源。

是否可以找到可靠且有效的公共代理?

第二个主要原因是要检查出售特定种类的代理(尤其是“ 住宅 ”)的服务。实际上,有无数的企业在出售住宅代理,而他们使用的是隐藏的数据中心代理。

知道差异是关键,因为它可以为您节省很多钱,还能让你的企业更加诚信。

您可能不是一家公司,但仍然想更多地了解代理,并研究不同公司提供的数量和类型。了解IP是否实际上是代理以及它是什么类型的代理是非常有效的。

你可能不是一家公司,但你仍然想要了解更多关于代理的信息,并对不同公司的代理数量和类型进行研究。了解IP是否真的是代理,它是什么类型的代理,这是非常有效的。

下面将通过特定的检测方案来探索所有这些。

粗略了解IP地址是否是代理服务器(以及有关它的其他详细信息)的第一种主要方法是通过Web应用程序。

这些典型的免费工具是由公司开发的,他们希望你访问他们的网站,注册他们的半相关服务,或点击某种从属链接。您无需执行任何这些操作,并且通常仍可以使用免费工具,这很好。

也有付费的Web应用程序,但是我不会在这里讨论,因为您可能不需要复杂而强大的功能(更不用说昂贵的功能了)。

免费的Web应用程序将:

1.检查你当前的IP地址(不管它是什么),然后告诉你他们是否认为这是一个代理。

2.告诉您ISP和组织的名称。

3.告诉您IP主机的名称。

4.告诉您IP所在的国家/地区。

5.告诉您IP所在的地区或状态。

6.提供有关IP所在城市的最佳猜测。

7.猜测该位置的纬度和经度。

对于简单的查找,有很多信息。从所有方面来看,为什么有人要使用代理是有道理的。如果您不使用它,那么所有这些信息都会清楚地指出您的位置以及从何处购买互联网。根据以上信息,服务将确定IP地址是否是代理,并告知您。

为此,我使用WhatIsMyIPAddress代理检查器-它简单,直接,并且不会打乱广告。去那里将专门检查您的计算机或设备正在使用的代理。

如果要检查另一个IP地址(而不是您正在使用的IP地址),它们的IP查找也非常有用。您可以在那里输入任何IP地址并获得相同的信息。但是,您必须了解有关代理和IP地址的更多信息,这将导致以下步骤。

确定一个IP地址是否真实,最好的方法 之一是使用像上面那样的检查,并以位置为中心。检查显示代理位于哪里,对于一个真实人来说,这个地方网上生活和购物是否现实?

这些问题的答案可能相差很大,因此了解问题背后的框架非常重要。

代理有两种主要方式:数据中心和住宅。我在上面提到了这些,它们在代理功能的良好程度以及它是否实际上是代理方面起着至关重要的作用。

从字面上看,住宅意味着IP地址与单独的房屋、付费用户和Internet服务提供商(ISP)相关联。数据中心意味着IP地址是在大型服务器中心中创建的,并与数十万其他IP地址一起输出,所有这些IP地址都将用作代理。

确定IP地址代理状态的主要方法之一是通过查找带来的位置。

数据中心或服务器中心通常位于大而平坦的地方,在那里人们可以建立大量的计算机仓库。在美国,这意味着内布拉斯加州、堪萨斯州和爱荷华州。是的,到处(以及在大多数州)都有专用的数据中心,但通常它们都位于美国中部。

考虑到查找甚至提供了城市和纬度/经度坐标,您可以缩小查看IP地址是否为某个家庭中的个人所有和使用,或者是否为某个字段中的某个大型中心。

在你的国家之外

另一个版本是,如果你在寻找国外的代理。为了绕开地理定位,从全球各地获取和使用代理是一种常见的做法。

因此,例如,如果你发现一个IP地址在挪威,它可能是一个数据中心代理。这很难确定,但大多数情况下,除非有特别的广告,否则在您自己国家以外使用的IP地址肯定是一个代理。

在上述方法的基础上,您接下来将看一下Internet服务提供商(ISP)。此信息也来自查找,是一种更确定IP地址是否为代理的可靠方法。

基本上,IP地址的ISP是制造和拥有该IP的人。在美国,常见的ISP是Comcast,Time Warner Cable,Spectrum,Cogent,AT&T等。基本上,您呼叫的大型公司在家里安装互联网。为了安装上述互联网,他们必须给您一个IP地址,即您的IP。

在其他国家,这仍然是正确的,但是公司会有所不同。查看查询中提供的信息时,请参阅“ ISP”或“组织”列出的内容。它是您国家/地区公认的Internet提供商吗?

还是公司名称中包含“服务器”,“缓存”,“主机”,“代理”等字样?

如果它是一家不折不扣的公司,则可能意味着该IP地址是由代理公司拥有和制造的,并且通常位于某个数据中心中。

这是确定IP地址是否是代理的最可靠方法。

OVH和Hostgator是最常用的两个代理主机名,但是有很多。

同样,分配给它们的IP数量较少的ISP或ASN更可能被检测为代理服务器。

用户代理是任何IP地址发送到网站的一组标识因素。它包括像你电脑的操作系统和你使用的浏览器,特别是什么版本。

这使网站可以将最新的图形和编码发送回给用户,从而使您的Web浏览体验变得无缝。

仅当它是您的常规ISP IP地址时,才如此。代理可以手动或通过代理提供程序通过预设来更改用户代理。

检查一个IP地址是否是代理的一个好方法是寻找过时或奇怪的东西。如果IP显示的是四年前的ie版本,那么这个人不太可能是真人,因为那个版本现在已经更新过了。操作系统也是如此。

如何检查用户代理

就像在位置和主机方面检查IP信息的Web应用程序一样,有一些免费的工具可以检查IP的用户代理。

UserAgentString是最好的工具之一,因为它为您提供了用户代理的所有不同方面的详细含义。它会检查您当前用于访问该站点的IP地址,这意味着您必须将有问题的IP地址加载到浏览器中,然后访问以检查其用户代理。

如果它提供了一堆关于您的计算机的不正确信息,则它是代理。

您可以使用AtomURL查看ISP IP用户代理字符串,也可以输入任何代理以检查其用户代理字符串。

但是,这不是完全验证的方法,因为许多代理不会自行更改用户代理。一个好的代理就不会,因为更改用户代理会大大改变您在网页上查看的内容,而这可能是您不想要的。

这意味着您应该将这一步骤与其他步骤结合使用,以获取有关该IP地址的完整信息。

您可以使用User Agent Switcher更改用户代理字符串,但这更多地用于代理的使用,而不是识别它们。

使用代理的主要原则是使代理看起来像真人一样。人们这样做是为了使这些代理不会被Google和其他搜索引擎禁止或阻止。这些引擎是为人而不是机器设计的。

代理无法执行此操作的最常见情况是,它检查网站的页面以及访问的页面数。如果它在网页上显示2秒钟,并且在一分钟内访问了1,000个页面,那么它就是代理。

没有人能做到这一点,即使他们有一只机械手,否则不可能点击那么快。

您可以使用这个规则来确定一个IP地址是否在internet上快速行走,从而将其标识为代理。如果没有,它可能只是一个普通的ISP IP。

如何检查访问页面和访问页面的时间

实际的操作方法比想法要复杂。这取决于您是否有权访问IP地址,是否从外部查看IP地址以及是否具有可以监视使用情况的特定内部网络。

监视自己对IP地址的使用很容易,但是在那种情况下,您可能会知道它是否是代理。我不推荐使用像Scrapebox这样的工具来增加页面浏览时间,也不推荐使用访问页面来查看IP地址是否是代理——它要么是,并且将被禁止,要么不是,也会被禁止。两者都是负面的,后者可能导致麻烦与您的ISP。

如果您有一个网站,并且想了解更多有关网站IP地址的信息,则可以在Google Analytics(分析)等分析面板中查找使用情况统计信息。在其中,您可以看到一个IP地址,该IP地址已经在短时间内记录了大量的页面访问,然后进行其余的研究,以查看它是否是代理。再一次,任何人类不可能进行的活动都意味着它是代理。

结论

以上五种方法都是检查IP地址性质的相当简单、免费的方法。不管你是出于什么原因想知道它是否是代理,这些都会有用。

最好是对所有这些都进行批判性观察,描绘出IP地址在做什么、怎么做、从哪里做,然后决定它是不是一个代理。

建议资源: Bright Data

㈤ TCP-IP协议详解(3) IP/ARP/RIP/BGP协议

网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供该层的socket,从而允许用户直接操作IP包。

IP数据包是符合IP协议的信息(也就是0/1序列),我们后面简称IP数据包为IP包。IP包分为头部(header)和数据(Data)两部分。数据部分是要传送的信息,头部是为了能够实现传输而附加的信息(这与以太网帧的头部功能相类似,如果对帧感到陌生,可参看 小喇叭 一文)。

IP协议可以分为IPv4和IPv6两种。IPv6是改进版本,用于在未来取代IPv4协议。出于本文的目的,我们可以暂时忽略两者的区别,只以IPv4为例。下面是IPv4的格式

IPv4包 我们按照4 bytes将整个序列折叠,以便更好的显示

与帧类似,IP包的头部也有多个区域。我们将注意力放在红色的发出地(source address)和目的地(destination address)。它们都是IP地址。IPv4的地址为4 bytes的长度(也就是32位)。我们通常将IPv4的地址分为四个十进制的数,每个数的范围为0-255,比如192.0.0.1就是一个IP地址。填写在IP包头部的是该地址的二进制形式。

IP地址是全球地址,它可以识别”社区”(局域网)和”房子”(主机)。这是通过将IP地址分类实现的。

IP class    From          To                Subnet Mask

A           1.0.0.0       126.255.255.255    255.0.0.0

B           128.0.0.0     191.255.255.255    255.255.0.0

C           192.0.0.0     223.255.255.255    255.255.255.0

每个IP地址的32位分为前后两部分,第一部分用来区分局域网,第二个部分用来区分该局域网的主机。子网掩码(Subnet Mask)告诉我们这两部分的分界线,比如255.0.0.0(也就是8个1和24个0)表示前8位用于区分局域网,后24位用于区分主机。由于A、B、C分类是已经规定好的,所以当一个IP地址属于B类范围时,我们就知道它的前16位和后16位分别表示局域网和主机。

网络协议概览 中说,IP地址是分配给每个房子(计算机)的“邮编”。但这个说法并不精确。IP地址实际上识别的是网卡(NIC, Network Interface Card)。网卡是计算机的一个硬件,它在接收到网路信息之后,将信息交给计算机(处理器/内存)。当计算机需要发送信息的时候,也要通过网卡发送。一台计算机可以有不只一个网卡,比如笔记本就有一个以太网卡和一个WiFi网卡。计算机在接收或者发送信息的时候,要先决定想要通过哪个网卡。

NIC

路由器(router)实际上就是一台配备有多个网卡的专用电脑。它让网卡接入到不同的网络中,这样,就构成在 网络协议概览 中所说的邮局。比如下图中位于中间位置的路由器有两个网卡,地址分别为199.165.145.17和199.165.146.3。它们分别接入到两个网络:199.165.145和199.165.146。

IP包的传输要通过路由器的接力。每一个主机和路由中都存有一个路由表(routing table)。路由表根据目的地的IP地址,规定了等待发送的IP包所应该走的路线。就好像下图的路标,如果地址是“东京”,那么请转左;如果地址是“悉尼”,那么请向右。

A real world routing table

比如我们从主机145.17生成发送到146.21的IP包:铺开信纸,写好信的开头(剩下数据部分可以是TCP包,可以是UDP包,也可以是任意乱写的字,我们暂时不关心),注明目的地IP地址(199.165.146.21)和发出地IP地址(199.165.145.17)。主机145.17随后参照自己的routing table,里面有三行记录:

145.17 routing table (Genmask为子网掩码,Iface用于说明使用哪个网卡接口)

Destination        Gateway             Genmask             Iface

199.165.145.0      0.0.0.0             255.255.255.0       eth0

0.0.0.0            199.165.145.17      0.0.0.0             eth0

这里有两行记录。

第一行表示,如果IP目的地是199.165.145.0这个网络的主机,那么只需要自己在eth0上的网卡直接传送(“本地社区”:直接送达),不需要前往router(Gateway 0.0.0.0 = “本地送信”)。

第二行表示所有不符合第一行的IP目的地,都应该送往Gateway 199.165.145.17,也就是中间router接入在eth0的网卡IP地址(邮局在eth0的分支)。

我们的IP包目的地为199.165.146.21,不符合第一行,所以按照第二行,发送到中间的router。主机145.17会将IP包放入帧的payload,并在帧的头部写上199.165.145.17对应的MAC地址,这样,就可以按照 以太网与wifi协议 中的方法在局域网中传送了。

中间的router在收到IP包之后(实际上是收到以太协议的帧,然后从帧中的payload读取IP包),提取目的地IP地址,然后对照自己的routing table:

Destination        Gateway             Genmask             Iface

199.165.145.0      0.0.0.0             255.255.255.0       eth0

199.165.146.0      0.0.0.0             255.255.255.0       eth1

0.0.0.0            199.165.146.8       0.0.0.0             eth1

从前两行我们看到,由于router横跨eth0和eth1两个网络,它可以直接通过eth0和eth1上的网卡直接传送IP包。

第三行表示,如果是前面两行之外的IP地址,则需要通过eth1,送往199.165.146.8(右边的router)。

我们的目的地符合第二行,所以将IP放入一个新的帧中,

在帧的头部写上199.165.146.21的MAC地址,直接发往主机146.21。

(在Linux下,可以使用$route -n来查看routing table)

IP包可以进一步接力,到达更远的主机。IP包从主机出发,根据沿途路由器的routing table指导,在router间接力。IP包最终到达某个router,这个router与目标主机位于一个局域网中,可以直接建立连接层的通信。最后,IP包被送到目标主机。这样一个过程叫做routing(我们就叫IP包接力好了,路由这个词实在是混合了太多的意思)。

整个过程中,IP包不断被主机和路由封装入帧(信封)并拆开,然后借助连接层,在局域网的各个NIC之间传送帧。整个过程中,我们的IP包的内容保持完整,没有发生变化。最终的效果是一个IP包从一个主机传送到另一个主机。利用IP包,我们不需要去操心底层(比如连接层)发生了什么。

在上面的过程中,我们实际上假设了,每一台主机和路由都能了解局域网内的IP地址和MAC地址的对应关系,这是实现IP包封装(encapsulation)到帧的基本条件。IP地址与MAC地址的对应是通过ARP协议传播到局域网的每个主机和路由。每一台主机或路由中都有一个ARP cache,用以存储局域网内IP地址和MAC地址如何对应。

ARP协议(ARP介于连接层和网络层之间,ARP包需要包裹在一个帧中)的工作方式如下:主机会发出一个ARP包,该ARP包中包含有自己的IP地址和MAC地址。通过ARP包,主机以广播的形式询问局域网上所有的主机和路由:我是IP地址xxxx,我的MAC地址是xxxx,有人知道199.165.146.4的MAC地址吗?拥有该IP地址的主机会回复发出请求的主机:哦,我知道,这个IP地址属于我的一个NIC,它的MAC地址是xxxxxx。由于发送ARP请求的主机采取的是广播形式,并附带有自己的IP地址和MAC地址,其他的主机和路由会同时检查自己的ARP cache,如果不符合,则更新自己的ARP cache。

这样,经过几次ARP请求之后,ARP cache会达到稳定。如果局域网上设备发生变动,ARP重复上面过程。

(在Linux下,可以使用$arp命令来查看ARP的过程。ARP协议只用于IPv4。IPv6使用Neighbor Discovery Protocol来替代ARP的功能。)

我们还有另一个假设,就是每个主机和路由上都已经有了合理的routing table。这个routint table描述了网络的拓扑(topology)结构。如果你了解自己的网络连接,可以手写自己主机的routing table。但是,一个路由器可能有多个出口,所以routing table可能会很长。更重要的是,周围连接的其他路由器可能发生变动(比如新增路由器或者路由器坏掉),我们就需要routing table能及时将交通导向其他的出口。我们需要一种更加智能的探测周围的网络拓扑结构,并自动生成routing table。

我们以北京地铁为例子。如果从机场前往朝阳门,那么可以采取2号航站楼->>三元桥->>东直门->>朝阳门。2号航站楼和朝阳门分别是出发和目的主机。而三元桥和东直门为中间的两个router。如果三元桥->>东直门段因为维修停运,我们需要更改三元桥的routing table,从而给前往朝阳门的乘客(IP包)指示:请走如下路线三元桥->>芍药居。然后依照芍药居的routing table前往朝阳门(芍药居->>东直门->>朝阳门)。

一种用来生成routing table的协议是RIP(Routing Information Protocol)。它通过距离来决定routing table,所以属于distance-vector protocol。对于RIP来说,所谓的距离是从出发地到目的地途径的路由器数目(hop number)。比如上面从机场到朝阳门,按照2号航站楼->>三元桥->>东直门->>朝阳门路线,途径两个路由器,距离为2。我们最初可以手动生成三元桥的routing table。随后,根据RIP协议,三元桥向周围的路由器和主机广播自己前往各个IP的距离(比如到机场=0,团结湖=0,国贸=1,望京西=1,建国门=2)。收到RIP包的路由器和主机根据RIP包和自己到发送RIP包的主机的距离,算出自己前往各个IP的距离。东直门与三元桥的距离为1。东直门收到三元桥的RIP包(到机场的距离为0),那么东直门途径三元桥前往机场的距离为1+0=1。如果东直门自己的RIP记录都比这个远(比如东直门->>芍药居->>三元桥->>机场 = 2)。那么东直门更改自己的routing table:前往机场的交通都发往三元桥而不是芍药居。如果东直门自身的RIP记录并不差,那么东直门保持routing table不变。上述过程在各个点不断重复RIP广播/计算距离/更新routing table的过程,最终所有的主机和路由器都能生成最合理的路径(merge)。

(RIP的基本逻辑是:如果A距离B为6,而我距离A为1,那么我途径A到B的距离为7)

RIP出于技术上的原因(looping hops),认为距离超过15的IP不可到达。所以RIP更多用于互联网的一部分(比如整个中国电信的网络)。这样一个互联网的部分往往属于同一个ISP或者有同一个管理机构,所以叫做自治系统(AS,autonomous system)。自治系统内部的主机和路由根据通向外部的边界路由器来和其它的自治系统通信。各个边界路由器之间通过BGP(Border Gateway Protocol)来生成自己前往其它AS的routing table,而自治系统内部则参照边界路由器,使用RIP来决定routing table。BGP的基本工作过程与RIP类似,但在考虑距离的同时,也权衡比如政策、连接性能等其他因素,再决定交通的走向(routing table)。

我们一开始讲述了IP包根据routing table进行接力的过程。为了顺利实现接力,我们又进一步深入到ARP和RIP/BGP。这三个协议都协助了IP传输。ARP让每台电脑和路由器知道自己局域网内IP地址和MAC地址的对应关系,从而顺利实现IP包到帧的封装。RIP协议可以生成自治系统内部合理的routing table。BGP协议可以生成自治系统外部的routing table。

在整个过程中,我们都将注意力放在了IP包大的传输过程中,而故意忽略一些细节。 而上面的IP接力过程适用于IPv6。

【TCP/IP详解】系列教程

互联网协议入门 1

互联网协议入门 2

TCP-IP协议详解(1)网络协议概观

TCP-IP协议详解(2) 以太网与WiFi协议

TCP-IP协议详解(3) IP/ARP/RIP/BGP协议

TCP-IP协议详解(4)IPv4与IPv6地址

TCP-IP协议详解(5)IP协议详解

TCP-IP协议详解(6) ICMP协议

TCP-IP协议详解(7) UDP协议

TCP-IP协议详解(8) TCP协议与流通信

TCP-IP协议详解(9) TCP连接

TCP-IP协议详解(10) TCP滑窗管理

TCP-IP协议详解(11) TCP重传

TCP-IP协议详解(12) TCP堵塞控制

TCP-IP协议详解(13) DNS协议

TCP-IP协议详解(14) CIDR与NAT

TCP-IP协议详解(15) HTTP协议概览

图解TCP-IP协议

㈥ 局域网如何抓包

你是网络管理员吗?你是不是有过这样的经历:在某一天的早上你突然发现网络性能急剧下降,网络服务不能正常提供,服务器访问速度极慢甚至不能访问,网络交换机端口指示灯疯狂地闪烁、网络出口处的路由器已经处于满负荷的工作状态、路由器CPU已经到了百分之百的负荷……重启动后没有几分钟现象又重新出现了。
这是什么问题?设备坏了吗?不可能几台设备同时出问题。一定是有什么大流量的数据文件,耗尽了网络设备的资源,它们是什么?怎么看到它们?这时有经验的网管人员会想到用局域网抓包工具来分析一下。

你一定听说过红色代码、Nimda、冲击波以及震荡波这些臭名昭着的网络杀手。就是它们制造了上述种种恶行。它们来势汹汹,阻塞网络、感染主机,让网络管理员苦不堪言。当网络病毒出现时,如何才能及时发现染毒主机?下面我根据网络病毒都有扫描网络地址的特点,给大家介绍一个很实用的方法:用抓包工具寻找病毒源。

1.安装抓包工具。目的就是用它分析网络数据包的内容。找一个免费的或者试用版的抓包工具并不难。我使用了一种叫做SpyNet3.12 的抓包工具,非常小巧, 运行的速度也很快。安装完毕后我们就有了一台抓包主机。你可以通过SpyNet设置抓包的类型,比如是要捕获IP包还是ARP包,还可以根据目的地址的不同,设置更详细的过滤参数。
2.配置网络路由。你的路由器有缺省网关吗?如果有,指向了哪里?在病毒爆发的时候把缺省网关指向另外一台路由器是很危险的(除非你想搞瘫这台路由器)。在一些企业网里往往仅指出网内地址段的路由,而不加缺省路由,那么就把缺省路由指到抓包主机上吧(它不下地狱谁下地狱?当然这台主机的性能最好是高一点的,否则很容易被病毒冲击而亡)。这样可以让那些病毒主机发出的绝大部分扫描都自动送上门来。或者把网络的出口映像到抓包主机上,所有对外访问的网络包都会被分析到。
3.开始抓包。抓包主机已经设置好了,网络里的数据包也已经送过来了,那么我们看看网络里传输的到底是些什么。打开SpyNet 点击Capture 你会看到好多的数据显示出来,这些就是被捕获的数据包(如图)。

图中的主体窗口里显示了抓包的情况。列出了抓到数据包的序号、时间、源目的MAC地址、源目的IP地址、协议类型、源目的端口号等内容。很容易看出IP地址为10.32.20.71的主机在极短的时间内向大量的不同主机发出了访问请求,并且目的端口都是445。
4.找出染毒主机。从抓包的情况看,主机10.32.20.71值得怀疑。首先我们看一下目的IP地址,这些地址我们网络里存在吗?很可能网络里根本就没有这些网段。其次,正常情况下访问主机有可能在这么短的时间里发起这么多的访问请求吗?在毫秒级的时间内发出几十甚至几百个连接请求,正常吗?显然这台10.32.20.71的主机肯定有问题。再了解一下Microsoft-DS协议,该协议存在拒绝服务攻击的漏洞,连接端口是445,从而进一步证实了我们的判断。这样我们就很容易地找到了染毒主机的IP地址。剩下的工作就是给该主机操作系统打补丁杀病毒了。
既然抓到了病毒包,我们看一下这个数据包二进制的解码内容:
这些数据包的长度都是62个字节。数据包前12个字节包括了目的MAC和源MAC的地址信息,紧跟着的2字节指出了数据包的类型,0800代表的是IP包格式,0806代表ARP包格式。接着的20个字节是封装的IP包头,包括了源、目的IP地址、IP版本号等信息。剩下的28个字节封装的是TCP包头,包括了源、目的端口,TCP链接的状态信息等。这就构成了一个62字节的包。可以看出除了这些包头数据之外,这个包没有携带其他任何的有效数据负荷,所以这是一个TCP要求445端口同步的空包,也就是病毒主机在扫描445端口。一旦染毒主机同步上没有采取防护措施的主机445端口,便会利用系统漏洞传播感染。

㈦ 在局域网中,在ip地址为192.168.1.2主机上,如何测试与ip地址为192.168.1.1

打开开始菜单,点击运行,输入“CMD”,确定后进入命令行模式,在命令输入提示符后输入ping 192.168.1.1 后按回车键(enter),然后你就看到了测试结果
一般情况下,2ms以内是正常的,如果不是那就肯定连接有问题,不是网线的问题,就是接口的问题

㈧ 请教 在网络上,传说中的抓包是什么怎样抓包

抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全,但往往被某些无耻之徒用来网游作弊。
英文名称为Sniffer,中文可以翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。黑客们常常用它来截获用户的口令。据说某个骨干网络的路由器曾经被黑客攻人,并嗅探到大量的用户口令。本文将详细介绍Sniffer的原理和应用。
下面是抓包的方法
1.安装抓包工具。
目的就是用它分析网络数据包的内容。找一个免费的或者试用版的抓包工具并不难。我使用了一种叫做SpyNet3.12 的抓包工具,非常小巧, 运行的速度也很快。安装完毕后我们就有了一台抓包主机。你可以通过SpyNet设置抓包的类型,比如是要捕获IP包还是ARP包,还可以根据目的地址的不同,设置更详细的过滤参数。
2.配置网络路由。
你的路由器有缺省网关吗?如果有,指向了哪里?在病毒爆发的时候把缺省网关指向另外一台路由器是很危险的(除非你想搞瘫这台路由器)。在一些企业网里往往仅指出网内地址段的路由,而不加缺省路由,那么就把缺省路由指到抓包主机上吧(它不下地狱谁下地狱?当然这台主机的性能最好是高一点的,否则很容易被病毒冲击而亡)。这样可以让那些病毒主机发出的绝大部分扫描都自动送上门来。或者把网络的出口映像到抓包主机上,所有对外访问的网络包都会被分析到。
3.开始抓包。
抓包主机已经设置好了,网络里的数据包也已经送过来了,那么我们看看网络里传输的到底是些什么。打开SpyNet 点击Capture 你会看到好多的数据显示出来,这些就是被捕获的数据包(如图)。 图中的主体窗口里显示了抓包的情况。列出了抓到数据包的序号、时间、源目的MAC地址、源目的IP地址、协议类型、源目的端口号等内容。很容易看出IP地址为10.32.20.71的主机在极短的时间内向大量的不同主机发出了访问请求,并且目的端口都是445。
4.找出染毒主机。
从抓包的情况看,主机10.32.20.71值得怀疑。首先我们看一下目的IP地址,这些地址我们网络里存在吗?很可能网络里根本就没有这些网段。其次,正常情况下访问主机有可能在这么短的时间里发起这么多的访问请求吗?在毫秒级的时间内发出几十甚至几百个连接请求,正常吗?显然这台10.32.20.71的主机肯定有问题。再了解一下Microsoft-DS协议,该协议存在拒绝服务攻击的漏洞,连接端口是445,从而进一步证实了我们的判断。这样我们就很容易地找到了染毒主机的IP地址。剩下的工作就是给该主机操作系统打补丁杀病毒了。 既然抓到了病毒包,我们看一下这个数据包二进制的解码内容: 这些数据包的长度都是62个字节。数据包前12个字节包括了目的MAC和源MAC的地址信息,紧跟着的2字节指出了数据包的类型,0800代表的是IP包格式,0806代表ARP包格式。接着的20个字节是封装的IP包头,包括了源、目的IP地址、IP版本号等信息。剩下的28个字节封装的是TCP包头,包括了源、目的端口,TCP链接的状态信息等。这就构成了一个62字节的包。可以看出除了这些包头数据之外,这个包没有携带其他任何的有效数据负荷,所以这是一个TCP要求445端口同步的空包,也就是病毒主机在扫描445端口。一旦染毒主机同步上没有采取防护措施的主机445端口,便会利用系统漏洞传播感染。

㈨ 简述TCP/IP工作原理

TCP/IP模型包括:

● 网络层

● 网际层

● 传输层

● 应用层

一、网络层

是模型的最低层,负责将帧放进线路,或从线路中取下帧。

TCP/IP的网络层对应着OSI的物理层和数据链路层。这也就是为什么这一层包含物理通信介质和在这些介质上传送帧的通信协议。

二、网际层

网际层(互联网层):负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

● ICMP网际控制消息协议:问题出现时向IP发送错误报告。

我们平时用的ping用它。

● IGMP网际分组管理协议:向路由器通知多播组成员的存在。

广播不能跨路由器,路由器是隔离广播的,但它隔离不了多播,它可以跨路由器。

● ARP地址解析协议:判断主机的硬件地址。

三、传输层

传输层是TCP/IP模型中非常特殊和重要的一层,它包括了OSI传输层、会话层、表示层和应用层的各部分功能,包括两个传输协议(TCP协议和UDP协议)在计算机之间提供通信对话。

四、应用层

应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

㈩ 电信共享上网被检测的解决方法是什么

1、利用宽带路由器的snmp功能(161端口),直接查看网内电脑的数量
2、检测网内主机的mac地址确定主机数
3、检测ip数据包中的id选项
4、检测tcp数据包中的时间戳选项
5、利用客户端浏览器的cookies功能识别客户机
说说这几种方法可行性(nat环境):
第一种方法需要网络设备支持snmp才能可行,目前的宽带路由器支持的不多,所以可行但通用性不大。
第二种方法完全不可行,网内的数据包从宽带路由器出去的都是三层以上的数据包,无论nat或是路由都不可能包含有网内电脑的mac地址,所以根本无法测到网内电脑的mac地址,也就无法知道有多少电脑在共享上网。
第三种方法是可行的,一般的nat设备通常只更改了数据包的源地址和端口,不会改ip包中的id选项。一般各台电脑发出去的ip包中第一个id是随机,以后是连续的,例如某一时间段一台电脑发出去的ip包中id是54625-54700,另一台网内电脑的ip id是4562-4600,所以只要截ip包分析一下有多少个连续的ip id就能知道有多少电脑在共享上网。
第四种方法也是可行的,windows系统默认是填写tcp包中的时间戳选项的,因为每台电脑的时间不可能完全相同(除异步过),所以只要分析某一时刻所有tcp包中的时间戳选项有多少个不同的数值,就能知道有多少台电脑在共享上网。
第五种方法就比较流氓了,需要更改发向客户端的http包内容,从而让客户机的浏览器去访问检测的网页,通过检测的网页在每台客户机上设置不同的cookies值并读取,就可以查到有多少台电脑在共享上网。其原理有点和网页上挂马类似。这种方法也有一定局限性,需要客户机浏览网页才能被检测到。
接下来说说破解办法:
第一种只要关掉设备的snmp功能或者换个不支持snmp的宽带路由器。
第三种方法的破解有点麻烦了,如果路由器够高级或者用的软路由,就把通过路由器出去的ip数据包的id选项改成连续,或者干脆打散,改成全部不连续。还有一个办法就是在内网的每台电脑上把ipid弄成不连续。这两个办法网上都有现成的软件可以用的。
第四种方法的破解可以在网关路由器或者在客户机上把时间戳去掉,windows系统下可以改注册表HKEY_LOCAL_下的Tcp1323Opts键关闭。或者把每台电脑的时间都同步。
第五种方法的破解可以半闭浏览器的cookies功能,或者把检测网站的ip屏蔽掉。

阅读全文

与网络中的主机是如何检测ip包的相关的资料

热点内容
网络共享中心没有网卡 浏览:521
电脑无法检测到网络代理 浏览:1373
笔记本电脑一天会用多少流量 浏览:572
苹果电脑整机转移新机 浏览:1376
突然无法连接工作网络 浏览:1055
联通网络怎么设置才好 浏览:1223
小区网络电脑怎么连接路由器 浏览:1030
p1108打印机网络共享 浏览:1211
怎么调节台式电脑护眼 浏览:691
深圳天虹苹果电脑 浏览:928
网络总是异常断开 浏览:612
中级配置台式电脑 浏览:987
中国网络安全的战士 浏览:630
同志网站在哪里 浏览:1413
版观看完整完结免费手机在线 浏览:1458
怎样切换默认数据网络设置 浏览:1110
肯德基无线网无法访问网络 浏览:1285
光纤猫怎么连接不上网络 浏览:1470
神武3手游网络连接 浏览:965
局网打印机网络共享 浏览:1000