当前位置:首页 » 币种行情 » eth原理解析

eth原理解析

发布时间: 2023-05-30 12:43:45

㈠ IPTABLES 详解

引言

先来看一条常用的iptables命令:

Iptables(-t filter) -I INPUT -p tcp  --dport ssh/22 -j ACCEPT

这一条命令,生成了一条规则。允许所有宽岩22端口的TCP连接。

这条规则作用表是filter表,即iptables默认表。作用链是INPUT链。

规则就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。

原理

Iptables通过对数据包的控制实现防火墙功能,看下图:

数据包进入机器后,要根据数据包信息对数据包进行相关处理

(1) 一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转发出去。

(2) 如果数据包就是进入本机的,它就会沿着图方向移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经 过OUTPUT链,然后到达POSTROUTING链输出。

(3)如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示方向移动,经过 FORWARD链,然后到达POSTROUTING链输出。

链(chains)是规则校验序列及数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。

iptables -P INPUT (DROP|ACCEPT)默认是关的/默认是开的

该命令设置链的默认目标,即策略。所有与链中任何规则都不匹配的信息包都将被强制使用此链的策略

表(tables)是相同规则集合,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理四种不同的功能。

3、规则表之间的优先顺序:

Raw——mangle——nat——filter

每个表包含的数据链不同,在进行处理的时候注意需求,要在哪一链上操作。

(1)RAW表

只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在 某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.

RAW表可以应用在那些不需慎陪御要做nat的情况下,以提高性能。如大乱培量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。

(2)mangle表

主要用于对指定数据包进行更改,在内核版本2.4.18 后的linux版本中该表包含的链为:INPUT链(处理进入的数据包),RORWARD链(处理转发的数据包),OUTPUT链(处理本地生成的数据包)POSTROUTING链(修改即将出去的数据包),PREROUTING链(修改即将到来的数据包)

(3)nat表

主要用于网络地址转换NAT,该表可以实现一对一,一对多,多对多等NAT 工作,iptables就是使用该表实现共享上网的,由于转换的特性,需进行目的地网址转换的数据包,就不需要进行来源网址转换,反之亦然,因此为了提升改写封包的效率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把数据包过滤的规则定义在这个数据表里,将会造成无法对同一包进行多次比对,因此这个规则表除了作网址转换外,请不要做其它用途。NAT表包含了PREROUTING链(修改即将到来的数据包),POSTROUTING链(修改即将出去的数据包),OUTPUT链(修改路由之前本地生成的数据包)

(4)filter表

主要用于过滤数据包,该表根据系统管理员预定义的一组规则过滤符合条件的数据包。对于防火墙而言,主要利用在filter表中指定的规则来实现对数据包的过滤。Filter表是默认的表,如果没有指定哪个表,iptables 就默认使用filter表来执行所有命令,filter表包含了INPUT链(处理进入的数据包),RORWARD链(处理转发的数据包),OUTPUT链(处理本地生成的数据包)在filter表中只能允许对数据包进行接受,丢弃的操作,而无法对数据包进行更改

命令

iptables [-t 表] -命令 匹配   操作

-A是append命令,添加的规则在最后

-D是删除命令,删除第几条规则

-I是插入命令,添加的规则在第一条

!是取反操作

Sport 是源端口

Dport 是目的端口

列出各个表的规则命令:

iptables -nvL

iptables -t nat -nvL

iptables -t mangle -nvL

iptables -t raw -nvL

iptables -t filter -nvL

iptables -t raw -A PREROUTING -s 182.50.124.75 -j ACCEPT

REJECT     拦阻该数据包,并返回数据包通知对方,可以返回的数据包有几个选择:ICMP port-unreachable、ICMP echo-reply 或是tcp-reset(这个数据包包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。 范例如下:

iptables -A  INPUT -p TCP --dport 22 -j REJECT --reject-with ICMP echo-reply

DROP   丢弃数据包不予处理,进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。

REDIRECT    将封包重新导向到另一个端口(PNAT),进行完此处理动作后,将会继续比对其它规则。这个功能可以用来实作透明代理 或用来保护web 服务器。例如:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT--to-ports 8081

MASQUERADE  改写封包来源IP为防火墙的IP,可以指定port 对应的范围,进行完此处理动作后,直接跳往下一个规则链(mangle:postrouting)。这个功能与 SNAT 略有不同,当进行IP 伪装时,不需指定要伪装成哪个 IP,IP 会从网卡直接读取,当使用拨接连线时,IP 通常是由 ISP 公司的 DHCP服务器指派的,这个时候 MASQUERADE 特别有用。范例如下:

iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 21000-31000

LOG    将数据包相关信息纪录在 /var/log 中,详细位置请查阅 /etc/syslog.conf 配置文件,进行完此处理动作后,将会继续比对其它规则。例如:

iptables -A INPUT -p tcp -j LOG --log-prefix "input packet"

SNAT  改写封包来源 IP 为某特定 IP 或 IP 范围,可以指定 port 对应的范围,进行完此处理动作后,将直接跳往下一个规则炼(mangle:postrouting)。范例如下:

iptables -t nat -A POSTROUTING -p tcp-o eth0 -j SNAT --to-source 192.168.10.15-192.168.10.160:2100-3200

DNAT  改写数据包包目的地 IP 为某特定 IP 或 IP 范围,可以指定 port 对应的范围,进行完此处理动作后,将会直接跳往下一个规则链(filter:input 或 filter:forward)。范例如下:

iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.10.1-192.168.10.10:80-100

MIRROR   镜像数据包,也就是将来源 IP与目的地IP对调后,将数据包返回,进行完此处理动作后,将会中断过滤程序。

QUEUE    中断过滤程序,将封包放入队列,交给其它程序处理。透过自行开发的处理程序,可以进行其它应用,例如:计算联机费用.......等。

RETURN   结束在目前规则链中的过滤程序,返回主规则链继续过滤,如果把自订规则炼看成是一个子程序,那么这个动作,就相当于提早结束子程序并返回到主程序中。

MARK  将封包标上某个代号,以便提供作为后续过滤的条件判断依据,进行完此处理动作后,将会继续比对其它规则。范例如下:

iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 22

保存规则

使用iptables程序建立的规则只会保存在内存中,通常我们在修改了iptables的规则重启 iptables 后,之前修改的规则又消失了。那么如何保存新建立的规则呢?

方法1、对于RHEL和ceontos系统可以使用service iptables save将当前内存中的规则保存到 /etc/sysconfig/iptables 文件中

[root@lampbo ~]# service iptables save

方法2、修改/etc/sysconfig/iptables-config 将里面的IPTABLES_SAVE_ON_STOP="no", 这一句的"no"改为"yes"这样每次服务在停止之前会自动将现有的规则保存在 /etc/sysconfig/iptables 这个文件中去。

加入开机启动项

chkconfig --level 345 iptables on

UBUNTU系统   

没有上述东西,只能使用保存命令保存当前规则。

重启的就用自启动脚本加载已经保存的规则。

/etc/network/interfaces脚本自动应用

auto eth0 iface eth0 inet dhcp

pre-up iptables-restore < /etc/iptables.up.rules post-down iptables-save > /etc/iptables.up.rules

iptables --save

https://wangchujiang.com/linux-command/c/iptables.html#%E5%90%AF%E5%8A%A8%E7%BD%91%E7%BB%9C%E8%BD%AC%E5%8F%91%E8%A7%84%E5%88%99

其他问题

ip_conntrack: table full, dropping packet的问题

在启用了iptables web服务器上,流量高的时候经常会出现下面的错误:

ip_conntrack: table full, dropping packet

这个问题的原因是由于web服务器收到了大量的连接,在启用了iptables的情况下,iptables会把所有的连接都做链接跟踪处理,这样iptables就会有一个链接跟踪表,当这个表满的时候,就会出现上面的错误。iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除。所以解决方法一般有两个:(1)加大 ip_conntrack_max 值vi /etc/sysctl.confnet.ipv4.ip_conntrack_max = 393216net.ipv4.netfilter.ip_conntrack_max = 393216(2):降低 ip_conntrack timeout时间vi /etc/sysctl.confnet.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120上面两种方法打个比喻就是烧水水开的时候,换一个大锅。一般情况下都可以解决问题,但是在极端情况下,还是不够用,怎么办?这样就得反其道而行,用釜底抽薪的办法。iptables的raw表是不做数据包的链接跟踪处理的,我们就把那些连接量非常大的链接加入到iptables raw表。如一台web服务器可以这样:iptables -t raw -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j NOTRACKiptables -A FORWARD -m state --state UNTRACKED -j ACCEPT

使用注意事项

在默认链规则是accept的情况下,规则最后要加drop或reject,否则相当于没加规则

一般先添加允许自己IP的所有数据包的规则,否则添加drop规则后会被屏蔽

以太坊身份名怎么搞

以太坊是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币提供去中心化的虚拟机来处理点对点合约

㈢ 美团面试题:如何设计负载均衡架构支撑千万级用户的高并发访问

1.1 负载均衡介绍

1.1.1 负载均衡的妙用

1.1.2 为什么要用lvs

那为什么要用lvs呢?

ü 简单一句话,当并发超过了Nginx上限,就可以使用LVS了。

ü 日1000-2000W PV或并发请求1万以下都可以考虑用Nginx。

ü 大型门户网站,电商网站需要用到LVS。

1.2 LVS介绍

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能。该项目在1998年5月由章文嵩博士组织成立,是 中国国内最早出现的自由软件项目之一

1.2.1 相关参考资料

LVS官网: http://www.linuxvirtualserver.org/index.html

相关中文资料

1.2.2 LVS内核模块ip_vs介绍

ü LVS无需安装

ü 安装的是管理工具,第一种叫ipvsadm,第二种叫keepalive

ü ipvsadm是通过命令行管理,而keepalive读取配置文件管理

ü 后面我们会用Shell脚本实现keepalive的功能

1.3 LVS集群搭建

1.3.1 集群环境说明

主机说明

web环境说明

web服务器的搭建参照:

Tomcat:

http://www.cnblogs.com/clsn/p/7904611.html

Nginx:

http://www.cnblogs.com/clsn/p/7750615.html

1.3.2 安装ipvsadm管理工具

安装管理工具

查看当前LVS状态,顺便激活LVS内核模块。

查看系统的LVS模块。

1.3.3 LVS集群搭建

命令集 :

检查结果 :

ipvsadm参数说明: (更多参照 man ipvsadm)

1.3.4 在web浏览器配置操作

命令集 :

至此LVS集群配置完毕 !

1.3.5 进行访问测试

浏览器访问:

命令行测试:

抓包查看结果:

arp解析查看:

1.4 负载均衡(LVS)相关名词

术语说明:

1.4.1 LVS集群的工作模式--DR直接路由模式

DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器将响应后的处理结果直接返回给客户端用户。

DR技术可极大地提高集群系统的伸缩性。但要求调度器LB与真实服务器RS都有一块物理网卡连在同一物理网段上,即必须在同一局域网环境。

DR直接路由模式说明:

a)通过在调度器LB上修改数据包的目的MAC地址实现转发。注意,源IP地址仍然是CIP,目的IP地址仍然是VIP。

b)请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此,并发访问量大时使用效率很高,比Nginx代理模式强于此处。

c)因DR模式是通过MAC地址的改写机制实现转发的,因此,所有RS节点和调度器LB只能在同一个局域网中。需要注意RS节点的VIP的绑定(lo:vip/32)和ARP抑制问题。

d)强调一下:RS节点的默认网关不需要是调度器LB的DIP,而应该直接是IDC机房分配的上级路由器的IP(这是RS带有外网IP地址的情况),理论上讲,只要RS可以出网即可,不需要必须配置外网IP,但走自己的网关,那网关就成为瓶颈了。

e)由于DR模式的调度器仅进行了目的MAC地址的改写,因此,调度器LB无法改变请求报文的目的端口。LVS DR模式的办公室在二层数据链路层(MAC),NAT模式则工作在三层网络层(IP)和四层传输层(端口)。

f)当前,调度器LB支持几乎所有UNIX、Linux系统,但不支持windows系统。真实服务器RS节点可以是windows系统。

g)总之,DR模式效率很高,但是配置也较麻烦。因此,访问量不是特别大的公司可以用haproxy/Nginx取代之。这符合运维的原则:简单、易用、高效。日1000-2000W PV或并发请求1万以下都可以考虑用haproxy/Nginx(LVS的NAT模式)

h)直接对外的访问业务,例如web服务做RS节点,RS最好用公网IP地址。如果不直接对外的业务,例如:MySQL,存储系统RS节点,最好只用内部IP地址。

DR的实现原理和数据包的改变

(a) 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP

(b) PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链

(c) IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改RIP的MAC地址,然后将数据包发至POSTROUTING链。 此时的源IP和目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标MAC地址为RIP的MAC地址

(d) 由于DS和RS在同一个网络中,所以是通过二层来传输。POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时数据包将会发至Real Server。

(e) RS发现请求报文的MAC地址是自己的MAC地址,就接收此报文。处理完成之后,将响应报文通过lo接口传送给eth0网卡然后向外发出。 此时的源IP地址为VIP,目标IP为CIP

(f) 响应报文最终送达至客户端

1.5 在web端的操作有什么含义?

1.5.1 RealServer为什么要在lo接口上配置VIP?

既然要让RS能够处理目标地址为vip的IP包,首先必须要让RS能接收到这个包。

在lo上配置vip能够完成接收包并将结果返回client。

1.5.2 在eth0网卡上配置VIP可以吗?

不可以,将VIP设置在eth0网卡上,会影响RS的arp请求,造成整体LVS集群arp缓存表紊乱,以至于整个负载均衡集群都不能正常工作。

1.5.3 为什么要抑制ARP响应?

① arp协议说明

为了提高IP转换MAC的效率,系统会将解析结果保存下来,这个结果叫做ARP缓存。

ARP缓存表是把双刃剑

ARP广播进行新的地址解析

测试命令

windows查看arp -a

③arp_announce和arp_ignore详解

lvs在DR模式下需要关闭arp功能

arp_announce

对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制:

确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口

arp_ignore 定义

对目标地定义对目标地址为本地IP的ARP询问不同的应答模式0

抑制RS端arp前的广播情况

抑制RS端arp后广播情况

1.6 LVS集群的工作模式

DR(Direct Routing)直接路由模式

NAT(Network Address Translation)

TUN(Tunneling)隧道模式

FULLNAT(Full Network Address Translation)

1.6.1 LVS集群的工作模式--NAT

通过网络地址转换,调度器LB重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器,真实服务器的响应报文处理之后,返回时必须要通过调度器,经过调度器时报文的源地址被重写,再返回给客户,完成整个负载调度过程。

收费站模式---来去都要经过LB负载均衡器。

NAT方式的实现原理和数据包的改变

(a). 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP

(b). PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链

(c). IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP

(d). POSTROUTING链通过选路,将数据包发送给Real Server

(e). Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP

(f). Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP

LVS-NAT模型的特性

l RS应该使用私有地址,RS的网关必须指向DIP

l DIP和RIP必须在同一个网段内

l 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈

l 支持端口映射

l RS可以使用任意操作系统

l 缺陷:对Director Server压力会比较大,请求和响应都需经过director server

1.6.2 LVS集群的工作模式--隧道模式TUN

采用NAT技术时,由于请求和响应的报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。

为了解决这个问题,调度器把请求的报文通过IP隧道(相当于ipip或ipsec )转发至真实服务器,而真实服务器将响应处理后直接返回给客户端用户,这样调度器就只处理请求的入站报文。

由于一般网络服务应答数据比请求报文大很多,采用 VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。

VS/TUN工作流程,它的连接调度和管理与VS/NAT中的一样,只是它的报文转发方法不同。

调度器根据各个服务器的负载情况,连接数多少,动态地选择一台服务器,将原请求的报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的真实服务器。

真实服务器收到报文后,先将收到的报文解封获得原来目标地址为VIP地址的报文, 服务器发现VIP地址被配置在本地的IP隧道设备上(此处要人为配置),所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。

TUN原理和数据包的改变

(a) 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP 。

(b) PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链

(c) IPVS比对数据包请求的服务是否为集群服务,若是,在请求报文的首部再次封装一层IP报文,封装源IP为为DIP,目标IP为RIP。然后发至POSTROUTING链。 此时源IP为DIP,目标IP为RIP

(d) POSTROUTING链根据最新封装的IP报文,将数据包发至RS(因为在外层封装多了一层IP首部,所以可以理解为此时通过隧道传输)。 此时源IP为DIP,目标IP为RIP

(e) RS接收到报文后发现是自己的IP地址,就将报文接收下来,拆除掉最外层的IP后,会发现里面还有一层IP首部,而且目标是自己的lo接口VIP,那么此时RS开始处理此请求,处理完成之后,通过lo接口送给eth0网卡,然后向外传递。 此时的源IP地址为VIP,目标IP为CIP

(f) 响应报文最终送达至客户端

LVS-Tun模型特性

1.6.3 LVS集群的工作模式--FULLNAT

LVS的DR和NAT模式要求RS和LVS在同一个vlan中,导致部署成本过高;TUNNEL模式虽然可以跨vlan,但RealServer上需要部署ipip隧道模块等,网络拓扑上需要连通外网,较复杂,不易运维。

为了解决上述问题,开发出FULLNAT

该模式和NAT模式的区别是:数据包进入时,除了做DNAT,还做SNAT(用户ip->内网ip)

从而实现LVS-RealServer间可以跨vlan通讯,RealServer只需要连接到内网。类比地铁站多个闸机。

1.7 IPVS调度器实现了如下八种负载调度算法:

a) 轮询(Round Robin)RR

调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。

b) 加权轮叫(Weighted Round Robin)WRR

调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。

调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

c) 最少链接(Least Connections) LC

调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。

如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。

d) 加权最少链接(Weighted Least Connections) Wlc

在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

e) 基于局部性的最少链接(Locality-Based Least Connections) Lblc

"基于局部性的最少链接" 调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。

该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器 是可用的且没有超载,将请求发送到该服务器。

若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用"最少链接"的原则选出一个可用的服务 器,将请求发送到该服务器。

f) 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)

"带复制的基于局部性最少链接"调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。

它与LBLC算法的不同之处是它要维护从一个 目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。

该算法根据请求的目标IP地址找出该目标IP地址对应的服务 器组,按"最小连接"原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器。

若服务器超载,则按"最小连接"原则从这个集群中选出一 台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。

同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的 程度。

g) 目标地址散列(Destination Hashing) Dh

"目标地址散列"调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

h) 源地址散列(Source Hashing)SH

"源地址散列"调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器。

若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

1.8 LVS+Keepalived方案实现

1.8.1 keepalived功能

1. 添加VIP

2. 添加LVS配置

3. 高可用(VIP漂移)

4. web服务器 健康 检查

1.8.2 在负载器安装Keepalived软件

# 检查软件是否安装

1.8.3 修改配置文件

lb03上keepalied配置文件

lb04的Keepalied配置文件

keepalived persistence_timeout参数意义 LVS Persistence 参数的作用

http://blog.csdn.net/nimasike/article/details/53911363

1.8.4 启动keepalived服务

1.8.5 在web服务器上进行配置

注意:web服务器上的配置为临时生效,可以将其写入rc.local文件,注意文件的执行权限。

使用curl命令进行测试

至此keepalived+lvs配置完毕

1.9 常见LVS负载均衡高可用解决方案

Ø 开发类似keepalived的脚本,早期的办法,现在不推荐使用。

Ø heartbeat+lvs+ldirectord脚本配置方案,复杂不易控制,不推荐使用

Ø RedHat工具piranha,一个web界面配置LVS。

Ø LVS-DR+keepalived方案,推荐最优方案,简单、易用、高效。

1.9.1 lvs排错思路

㈣ 分析wifi网络的基本原理

这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因哪李橡为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。

主要内容:

一、基本概述

二、实践基础

三、一些原理

四、补充

五、其它

一、基本概述

============================

1、有线和无线网络

目前有线网络中最著名的是李旁以太网(Ethenet),但是无线网络WLAN是一个很有前景的发展领域,虽然可能不会完全取代以太网,但是它正拥有越来越多的用户,无线网络中最有前景的是Wifi。本文介绍无线网络相关内容。

无线网络相比有线网络,还是有许多的缺点的:

(*)通信双方因为是通过无扰知线进行通信,所以通信之前需要建立连接;而有线网络就直接用线缆连接,不用这个过程了。

(*)通信双方通信方式是半双工的通信方式;而有线网络可以是全双工。

(*)通信时在网络层以下出错的概率非常高,所以帧的重传概率很大,需要在网络层之下的协议添加重传的机制(不能只依赖上面TCP/IP的延时等待重传等开销来保证);而有线网络出错概率非常小,无需在网络层有如此复杂的机制。

(*)数据是在无线环境下进行的,所以抓包非常容易,存在安全隐患。

(*)因为收发无线信号,所以功耗较大,对电池来说是一个考验。

(*)相对有线网络吞吐量低,这一点正在逐步改善,802.11n协议可以达到600Mbps的吞吐量。

2、协议

Ethenet和Wifi采用的协议都属于IEEE 802协议集。其中,Ethenet以802.3协议做为其网络层以下的协议;而Wifi以802.11做为其网络层以下的协议。无论是有线网络,还是无线网络,其网络层以上的部分,基本一样。

这里主要关注的是Wifi网络中相关的内容。Wifi的802.11协议包含许多子部分。其中按照时间顺序发展,主要有:

(1)802.11a,1999年9月制定,工作在5gHZ的频率范围(频段宽度325MHZ),最大传输速率54mbps,但当时不是很流行,所以使用的不多。

(2)802.11b,1999年9月制定,时间比802.11a稍晚,工作在2.4g的频率范围(频段宽度83.5MHZ),最大传输速率11mbps。

(3)802.11g,2003年6月制定,工作在2.4gHZ频率范围(频段宽度83.5MHZ),最大传输速率54mbps。

(4)802.11n,2009年才被IEEE批准,在2.4gHZ和5gHZ均可工作,最大的传输速率为600mbps。

这些协议均为无线网络的通信所需的基本协议,最新发展的,一般要比最初的有所改善。

另外值得注意的是,802.11n在MAC层上进行了一些重要的改进,所以导致网络性能有了很大的提升例如:

(*)因为传输速率在很大的程度上取决于Channel(信道)的ChannelWidth有多宽,而802.11n中采用了一种技术,可以在传输数据的时候将两个信道合并为一个,再进行传输,极大地提高了传输速率(这又称HT-40,high through)。

(*)802.11n的MIMO(多输入输出)特性,使得两对天线可以在同时同Channel上传输数据,而两者却能够不相互干扰(采用了OFDM特殊的调制技术)

3、术语

讲述之前,我们需要对无线网络中一些常用的术语有所了解。这里先列出一些,后面描述中出现的新的术语,将会在描述中解释。

(*)LAN:即局域网,是路由和主机组成的内部局域网,一般为有线网络。

(*)WAN:即广域网,是外部一个更大的局域网。

(*)WLAN(Wireless LAN,即无线局域网):前面我们说过LAN是局域网,其实大多数指的是有线网络中的局域网,无线网络中的局域网,一般用WLAN。

(*)AP(Access point的简称,即访问点,接入点):是一个无线网络中的特殊节点,通过这个节点,无线网络中的其它类型节点可以和无线网络外部以及内部进行通信。这里,AP和无线路由都在一台设备上(即Cisco E3000)。

(*)Station(工作站):表示连接到无线网络中的设备,这些设备通过AP,可以和内部其它设备或者无线网络外部通信。

(*)Assosiate:连接。如果一个Station想要加入到无线网络中,需要和这个无线网络中的AP关联(即Assosiate)。

(*)SSID:用来标识一个无线网络,后面会详细介绍,我们这里只需了解,每个无线网络都有它自己的SSID。

(*)BSSID:用来标识一个BSS,其格式和MAC地址一样,是48位的地址格式。一般来说,它就是所处的无线接入点的MAC地址。某种程度来说,它的作用和SSID类似,但是SSID是网络的名字,是给人看的,BSSID是给机器看的,BSSID类似MAC地址。

(*)BSS(Basic Service Set):由一组相互通信的工作站组成,是802.11无线网络的基本组件。主要有两种类型的IBSS和基础结构型网络。IBSS又叫ADHOC,组网是临时的,通信方式为Station<->Station,这里不关注这种组网方式;我们关注的基础结构形网络,其通信方式是Station<->AP<->Station,也就是所有无线网络中的设备要想通信,都得经过AP。在无线网络的基础形网络中,最重要的两类设备:AP和Station。

(*)DS(Distributed System):即分布式系统。分布式系统属于802.11逻辑组件,负责将帧转发至目的地址,802.11并未规定其技术细节,大多数商业产品以桥接引擎合分步式系统媒介共同构成分布式系统。分步式系统是接入点之间转发帧的骨干网络,一般是以太网。其实,骨干网络并不是分步系统的全部,而是其媒介。主要有三点:骨干网(例如以太网)、桥接器(具有有线无线两个网络接口的接入点包含它)、属于骨干网上的接入点所管辖的基础性网络的station通信(和外界或者BSS内部的station)必须经过DS、而外部路由只知道station的mac地址,所以也需要通过分布式系统才能知道station的具体位置并且正确送到。分步式系统中的接入点之间必须相互传递与之关联的工作站的信息,这样整个分步式系统才能知道哪个station和哪个ap关联,保证分步式系统正常工作(即转达给正确的station)。分步式系统也可以是使用无线媒介(WDS),不一定一定是以太网。总之,分步式系统骨干网络(例如以太网)做为媒介,连接各个接入点,每个接入点与其内的station可构成BSS,各个接入点中的桥接控制器有到达骨干网络和其内部BSS无线网的接口(类似两个MAC地址),station通信需要通过分布式系统。

㈤ 什么是ARP

分类: 电脑/网络 >> 反病毒
问题描述:

详细点可以吗?

解析:

这里没法看图片,如果你想看的话,就到这里来:130/CMS/Pub/neork/neork_protocal/20201

ARP协议概述

IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。

ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,答链以一个含有IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。

如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上, ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。

图1 以太网上的ARP报文格式

图1是一个用作IP到以太网地址转换的ARP报文的例子。在图中每一行为32位,也就是4个八位组表示,在以后的图中,我们也将遵循这一方式。

硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。操作字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。

当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。当目标裂举戚机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。

2 ARP使用举例

我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项):

d2server:/home/kerberos# arp

Address HWtype HWaddress Flags Mask Iface

211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0

Address:主机的IP地址

Hwtype:主机的硬件类型

Hwaddress:主机的硬件地址

Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目。

用"arp --a"命令可以显示主机地址与IP地址的对应表,也就是机器中所保存的arp缓存信息。这个高速缓存存放了最近Inter地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。

d2server:/home/kerberos# arp -a

(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

可以看到在缓存中有一条211.161.17.254相对应的arp缓存条目。

d2server:/home/kerberos# tel 211.161.17.21

Trying 211.161.17.21...

Connected to 211.161.17.21.

Escape character is '^]'.

^].

tel>quit

conion closed.

在执行上面一条tel命令的同时,用tcpmp进行监听:

d2server:/home/kerberos# tcpmp -e dst host 211.161.17.21

tcpmp: listening on eth0

我们将会听到很多包,我们取与我们arp协肆陵议相关的2个包:

1 0.0 00:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FF arp 60

who has 211.161.17.21 tell d2server

2 0.002344(0.0021) 00:E0:3C:43:0D:24 00:D0:F8:0A:FB:83 arp 60

arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24

在第1行中,源端主机(d2server)的硬件地址是00:D0:F8:0A:FB:83。目的端主机的硬件地址是FF:FF:FF:FF:FF:FF,这是一个以太网广播地址。电缆上的每个以太网接口都要接收这个数据帧并对它进行处理。

第1行中紧接着的一个输出字段是arp,表明帧类型字段的值是0x0806,说明此数据帧是一个ARP请求或回答。

在每行中,单词后面的值60指的是以太网数据帧的长度。由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据,14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60字节。

第1行中的下一个输出字段arp who-has表示作为ARP请求的这个数据帧中,目的I P地址是211.161.17.21的地址,发送端的I P地址是d2server的地址。tcpmp打印出主机名对应的默认I P地址。

从第2行中可以看到,尽管ARP请求是广播的,但是ARP应答的目的地址却是211.161.17.21(00:E0:3C:43:0D:24)。ARP应答是直接送到请求端主机的,而是广播的。tcpmp打印出arp reply的字样,同时打印出响应者的主机ip和硬件地址。

在每一行中,行号后面的数字表示tcpmp收到分组的时间(以秒为单位)。除第1行外,每行在括号中还包含了与上一行的时间差异(以秒为单位)。

这个时候我们再看看机器中的arp缓存:

d2server:/home/kerberos# arp -a

(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

(211.161.17.21) at 00:E0:3C:43:0D:24 [ether] on eth0

arp高速缓存中已经增加了一条有关211.161.17.21的映射。

再看看其他的arp相关的命令:

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00

d2server:/home/kerberos# arp

Address HWtype HWaddress Flags Mask Iface

211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0

211.161.17.21 ether 00:00:00:00:00:00 CM eth0

d2server:/home/kerberos# arp -a

(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

(211.161.17.21) at 00:00:00:00:00:00 [ether] PERM on eth0

可以看到我们用arp -s选项设置了211.161.17.21对应的硬件地址为00:00:00:00:00:00,而且这条映射的标志字段为CM,也就是说我们手工设置的arp选项为静态arp选项,它保持不变没有超时,不像高速缓存中的条目要在一定的时间间隔后更新。

如果想让手工设置的arp选项有超时时间的话,可以加上temp选项

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 temp

d2server:/home/kerberos# arp -a

(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

(211.161.17.21) at 00:00:00:00:00:00 [ether] on eth0

d2server:/home/kerberos# arp

Address HWtype HWaddress Flags Mask Iface

211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0

211.161.17.21 ether 00:00:00:00:00:00 C eth0

可以看到标志字段的静态arp标志"M"已经去掉了,我们手工加上的是一条动态条目。

请大家注意arp静态条目与动态条目的区别。

在不同的系统中,手工设置的arp静态条目是有区别的。在linux和win2000中,静态条目不会因为伪造的arp响应包而改变,而动态条目会改变。而在win98中,手工设置的静态条目会因为收到伪造的arp响应包而改变。

如果您想删除某个arp条目(包括静态条目),可以用下面的命令:

d2server:/home/kerberos# arp -d 211.161.17.21

d2server:/home/kerberos# arp -a

(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

(211.161.17.21) at on eth0

可以看到211.161.17.21的arp条目已经是不完整的了。

还有一些其他的命令,可以参考linux下的man文档:

d2server:/home/kerberos# man arp

ARP欺骗

我们先复习一下上面所讲的ARP协议的原理。在实现TCP/IP协议的网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义,但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的硬件mac地址来识别。也就是说,只有机器的硬件mac地址和该ip包中的硬件mac地址相同的机器才会应答这个ip包,因为在网络中,每一台主机都会有发送ip包的时候,所以,在每台主机的内存中,都有一个 arp--> 硬件mac 的转换表。通常是动态的转换表(该arp表可以手工添加静态条目)。也就是说,该对应表会被主机在一定的时间间隔后刷新。这个时间间隔就是ARP高速缓存的超时时间。

通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的硬件mac地址,如果没有找到,该主机就发送一个ARP广播包,于是,主机刷新自己的ARP缓存。然后发出该ip包。

了解这些常识后,现在就可以谈在以太网络中如何实现ARP欺骗了,可以看看这样一个例子。

3.1 同一网段的ARP欺骗

图2 同一网段的arp欺骗

如图2所示,三台主机

A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA

B: ip地址 192.168.0.2 硬件地址 BB:BB:BB:BB:BB:BB

C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC

一个位于主机B的入侵者想非法进入主机A,可是这台主机上安装有防火墙。通过收集资料他知道这台主机A的防火墙只对主机C有信任关系(开放23端口(tel))。而他必须要使用tel来进入主机A,这个时候他应该如何处理呢?

我们这样考虑,入侵者必须让主机A相信主机B就是主机C,如果主机A和主机C之间的信任关系是建立在ip地址之上的。如果单单把主机B的ip地址改的和主机C的一样,那是不能工作的,至少不能可靠地工作。如果你告诉以太网卡设备驱动程序, 自己IP是192.168.0.3,那么这只是一种纯粹的竞争关系,并不能达到目标。我们可以先研究C这台机器如果我们能让这台机器暂时当掉,竞争关系就可以解除,这个还是有可能实现的。在机器C当掉的同时,将机器B的ip地址改为192.168.0.3,这样就可以成功的通过23端口tel到机器A上面,而成功的绕过防火墙的限制。

上面的这种想法在下面的情况下是没有作用的,如果主机A和主机C之间的信任关系是建立在硬件地址的基础上。这个时候还需要用ARP欺骗的手段让主机A把自己的ARP缓存中的关于192.168.0.3映射的硬件地址改为主机B的硬件地址。

我们可以人为的制造一个arp_reply的响应包,发送给想要欺骗的主机,这是可以实现的,因为协议并没有规定必须在接收到arp_echo后才可以发送响应包.这样的工具很多,我们也可以直接用snifferpro抓一个arp响应包,然后进行修改。

你可以人为地制造这个包。可以指定ARP包中的源IP、目标IP、源MAC地址、目标MAC地址。

这样你就可以通过虚假的ARP响应包来修改主机A上的动态ARP缓存达到欺骗的目的。

下面是具体的步骤:

他先研究192.0.0.3这台主机,发现这台主机的漏洞。

根据发现的漏洞使主机C当掉,暂时停止工作。

这段时间里,入侵者把自己的ip改成192.0.0.3

他用工具发一个源ip地址为192.168.0.3源MAC地址为BB:BB:BB:BB:BB:BB的包给主机A,要求主机A更新自己的arp转换表。

主机更新了arp表中关于主机C的ip-->mac对应关系。

防火墙失效了,入侵的ip变成合法的mac地址,可以tel 了。

上面就是一个ARP的欺骗过程,这是在同网段发生的情况,但是,提醒注意的是,在B和C处于不同网段的时候,上面的方法是不起作用的。

3.2 不同网段的ARP欺骗

图3 不同网段之间的ARP欺骗

如图3所示A、C位于同一网段而主机B位于另一网段,三台机器的ip地址和硬件地址如下:

A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA

B: ip地址 192.168.1.2 硬件地址 BB:BB:BB:BB:BB:BB

C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC

在现在的情况下,位于192.168.1网段的主机B如何冒充主机C欺骗主机A呢?显然用上面的办法的话,即使欺骗成功,那么由主机B和主机A之间也无法建立tel会话,因为路由器不会把主机A发给主机B的包向外转发,路由器会发现地址在192.168.0.这个网段之内。

现在就涉及到另外一种欺骗方式―ICMP重定向。把ARP欺骗和ICMP重定向结合在一起就可以基本实现跨网段欺骗的目的。

什么是ICMP重定向呢?

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。

我们可以利用ICMP重定向报文达到欺骗的目的。

下面是结合ARP欺骗和ICMP重定向进行攻击的步骤:

为了使自己发出的非法ip包能在网络上能够存活长久一点,开始修改ip包的生存时间ttl为下面的过程中可能带来的问题做准备。把ttl改成255. (ttl定义一个ip包如果在网络上到不了主机后,在网络上能存活的时间,改长一点在本例中有利于做充足的广播)

下载一个可以自由制作各种包的工具(例如hping2)

然后和上面一样,寻找主机C的漏洞按照这个漏洞当掉主机C。

在该网络的主机找不到原来的192.0.0.3后,将更新自己的ARP对应表。于是他发送一个原ip地址为192.168.0.3硬件地址为BB:BB:BB:BB:BB:BB的ARP响应包。

好了,现在每台主机都知道了,一个新的MAC地址对应192.0.0.3,一个ARP欺骗完成了,但是,每台主机都只会在局域网中找这个地址而根本就不会把发送给192.0.0.3的ip包丢给路由。于是他还得构造一个ICMP的重定向广播。

自己定制一个ICMP重定向包告诉网络中的主机:"到192.0.0.3的路由最短路径不是局域网,而是路由,请主机重定向你们的路由路径,把所有到192.0.0.3的ip包丢给路由。"

主机A接受这个合理的ICMP重定向,于是修改自己的路由路径,把对192.0.0.3的通讯都丢给路由器。

入侵者终于可以在路由外收到来自路由内的主机的ip包了,他可以开始tel到主机的23口。

其实上面的想法只是一种理想话的情况,主机许可接收的ICMP重定向包其实有很多的限制条件,这些条件使ICMP重定向变的非常困难。

TCP/IP协议实现中关于主机接收ICMP重定向报文主要有下面几条限制:

新路由必须是直达的

重定向包必须来自去往目标的当前路由

重定向包不能通知主机用自己做路由

被改变的路由必须是一条间接路由

由于有这些限制,所以ICMP欺骗实际上很难实现。但是我们也可以主动的根据上面的思维寻找一些其他的方法。更为重要的是我们知道了这些欺骗方法的危害性,我们就可以采取相应的防御办法。

3.3 ARP欺骗的防御

知道了ARP欺骗的方法和危害,我们给出一些初步的防御方法:

不要把你的网络安全信任关系建立在ip地址的基础上或硬件mac地址基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在ip+mac基础上。

设置静态的mac-->ip对应表,不要让主机刷新你设定好的转换表。

除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。在linux下可以用ifconfig -arp可以使网卡驱动程序停止使用ARP。

使用代理网关发送外出的通讯。

修改系统拒收ICMP重定向报文

在linux下可以通过在防火墙上拒绝ICMP重定向报文或者是修改内核选项重新编译内核来拒绝接收ICMP重定向报文。

在win2000下可以通过防火墙和IP策略拒绝接收ICMP报文。

4 代理ARP的应用

代理ARP有两大应用,一个是有利的就是我们在防火墙实现中常说的透明模式的实现,另一个是有害的就是通过它可以达到在交换环境中进行嗅探的目的.由此可见同样一种技术被应用于不同的目的,效果是不一样的.

我们先来看交换环境中局域网的嗅探.

通常在局域网环境中,我们都是通过交换环境的网关上网的。在交换环境中使用NetXray或者NAI Sniffer一类的嗅探工具除了抓到自己的包以外,是不能看到其他主机的网络通信的。

但是我们可以通过利用ARP欺骗可以实现Sniffer的目的。

ARP协议是将IP地址解析为MAC地址的协议,局域网中的通信都是基于MAC地址的。

图4 交换网络中的ARP欺骗

如图4所示,三台主机位于一个交换网络的环境中,其中A是网关:

A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA

B: ip地址 192.168.0.2 硬件地址 BB:BB:BB:BB:BB

C:ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC

在局域网中192.168.0.2和192.168.0.3都是通过网关192.168.0.1上网的,假定攻击者的系统为192.168.0.2,他希望听到192.168.0.3的通信,那么我们就可以利用ARP欺骗实现。

这种欺骗的中心原则就是arp代理的应用.主机A是局域网中的代理服务器,局域网中每个节点的向外的通信都要通过它.主机B想要听主机C的通信,它需要先使用ARP欺骗,让主机C认为它就是主机A,这个时候它发一个IP地址为192.168.0.1,物理地址为BB:BB:BB:BB:BB:BB的ARP响应包给主机C,这样主机C会把发往主机A的包发往主机B.同理,还要让网关A相信它就是主机C,向网关A发送一个IP地址为192.168.0.3,物理地址为BB:BB:BB:BB:BB:BB的包.

上面这一步的操作和前面的ARP欺骗的原理是一样的,但是还是有问题,过一段时间主机B会发现自己无法上网.所以下面还有一个步骤就是需要在主机B上转发从主机A到主机C的包,并且转发从主机C到主机A的包.现在我们可以看到其实主机B在主机A和主机C的通讯中起到了一个代理的作用,这就是为什么叫做ARP代理的原因.

具体实现要用到两个工具dsniff和fragrouter,dsniff用来实现ARP欺骗,fragroute用来进行包的转发.

首先利用dsniff中的arpspoof来实现ARP欺骗,dsniff软件可以在下面的网址下载:
naughty.monkey/~gsong/dsniff

安装这个软件包之前先要下载安装lib.

欺骗192.168.0.3,告诉这台机器网关192.168.0.1的MAC地址是192.168.0.2的MAC地址.

[root@sound dsniff-2.3]# ./arpspoof -i eth0 -t 192.168.0.3 192.168.0.1欺骗192.168.0.1,告诉192.168.0.1主机192.168.0.3的MAC地址是192.168.0.2的MAC地址。

[root@sound dsniff-2.3]# ./arpspoof -i eth0 -t 192.168.0.1 192.168.0.3现在我们已经完成了第一步的欺骗,这个欺骗是通过arpspoof来完成的,当然您也可以使用别的工具甚至自己发包来完成.现在我们可以看到在主机A和主机C的arp列表里面都完成了我们需要的工作.在后面的透明代理中我们将使用另外一种不同的理念.

下面我们先打开linux系统中的转发包的选项:

[root@sound /root]# echo "1" >/proc/sysipv4/ip_forward下面我们可以下载大名鼎鼎的gsong的另外一个工具fragroute,这个工具以前叫做fragrouter(仅有1字的差别)主要用于实现入侵检测系统处理分片的ip和tcp包功能的检测,本身自代包转发的功能.可以到下面的网站下载:
monkey/~gsong/fragroute/

安装这个软件包之前先要下载安装libpcap和libevent.

当然我们也可以使用fragrouter来完成:
packetstormsecurity/groups/ w00w00/sectools/fragrouter/

[root@sound fragrouter-1.6]# ./fragrouter -B1

fragrouter: base-1: normal IP forwarding

现在就可以实现在交换局域网中嗅探的目标.当然上面这些只是一些原理性的介绍,在真正的使用中会遇到很多的问题,比如如何实现对网关A和主机C的欺骗,以及如何处理可能出现的广播风暴问题,这些可以在实践中学习.还有一个叫arpsniff的工具能够很方便的完成这一功能,很多网站都提供下载,界面比较友好,由于和上面的原理一样,只是工具使用上的不同并且添加了一些附加的功能,所以这里不在进行介绍.

代理ARP的另外一个应用就是防火墙的透明代理的实现.我们都知道早期的防火墙大都是基于路由模式,也就是防火墙要完成一个路由的作用.这种接入方式需要在局域网内的主机上设置防火墙的IP为代理,而且需要在外部路由器的路由表中加入一条指向防火墙的路由.这种方式的缺点在于不透明,需要进行过多的设置,并且破坏了原有的网络拓扑.所以现在几乎全部的防火墙都实现了一种透明接入的功能,用户的路由器和客户端不用做任何修改,用户甚至感觉不到透明接入方式防火墙的存在.这种透明接入的原理就是ARP代理.

我们现在看如何配置一台主机作为透明接入模式的防火墙(透明接入的防火墙不需要IP),

图5

如图5所示,一台防火墙连接内部网段和DMZ网段到外部路由.我们在这台用作防火墙的主机上使用linux操作系统,这样我们可以方便的使用iptables防火墙.假设三块网卡为eth0,eth1和eth2,eth0和路由器相连,eth1和内网相连.eth2和外网相连.假设DMZ区有2台服务器.

内网地址:192.168.1.0/24

DMZ地址:192.168.1.2---192.168.1.3

路由器的ip地址:192.168.1.1

eth0:AA:AA:AA:AA:AA:AA

eth1:BB:BB:BB:BB:BB:BB

eth2:CC:CC:CC:CC:CC:CC

和前面差不多,第一步需要实现ARP欺骗,这次我们有个简单的实现.我们把路由器的IP地址和防火墙的eth1和eth2的网卡物理地址绑定,将内网和DMZ网段的IP地址和eth0的网卡绑定,在linux系统上我们用arp命令实现:

arp -s 192.168.1.1 BB:BB:BB:BB:BB:BB

arp -s 192.168.1.1 CC:CC:CC:CC:CC:CC

arp -s 192.168.1.0/24 AA:AA:AA:AA:AA:AA

第二部我们需要在基于linux的防火墙上设置路由,把目标地址是外部路由的包转发到eth0,把目标地址为内网的包转发到eth1,把目标地址是DMZ网段服务器的包转发到eth2.在linux下面用route命令实现

route add 192.168.1.1 dev eth0

route add - 192.168.1.0/24 dev eth1

route add 192.168.1.2 dev eth2

route add 192.168.1.3 dev eth3

(针对DMZ网段里面的每台服务器都要增加一条单独的路由) 现在我们就已经实现了一个简单的arp代理的透明接入,当然对应于防火墙的iptables部分要另外配置,iptables的配置不在本文范畴之内.

小结

本文介绍了ARP协议以及与其相关的安全问题。一个重要的安全问题就是ARP欺骗,我们讲到了同一网段的ARP欺骗以及跨网段的ARP欺骗和ICMP重定向相结合的方法。由于有这些安全问题的存在,我们给出一些最基本的解决办法。最后谈到了利用代理ARP实现在交换网络中嗅探和防火墙的透明接入。

㈥ 《以太坊技术详解与实战》pdf下载在线阅读,求百度网盘云资源

《以太坊技术详解与实战》(闫莺)电子书网盘下载免费在线阅读

资源链接:

链接:https://pan..com/s/1g6YtL-Ws5Ukd6KksLQ_S0g 密码:os8v

书名:以太坊技术详解与实战

作者:闫莺

豆瓣评分:7.7

出版社:机械工业出版社

出版年份:2018-4-3

页数:226

内容简介:

以太坊创始人、首席科学家Vitalik Buterin倾力推荐,工业界与学术界区块链专家联合撰写,权威性和实用性毋庸置疑。本书深入剖析以太坊架构、核心部件、智能合约编写与开发案例等关键技术,并涵盖以太坊数据分析、性能优化、隐私与数据安全等前沿实践与进展。

第1章 介绍区块链背景、基本原理与应用,以对区块链有整体性了解。

第2章 详解以太坊架构与组成,涵盖以太坊架构、核心概念与技术、客户端与域名服务等,是后续学习的基础。

第3章 带领读者部署不同网络类型以太坊区块链,含有多种技巧与脚本样例。

第4章 剖析智能合约与以太坊虚拟机的原理,这两者是以太坊的魅力所在,了解后可以更好地开发智能合约。

第5~6章 手把手教学,给出具体编写、编译、部署智能合约的方法和案例,密集锻炼读者智能合约编程与实践能力。

第7章 剖析以太坊上数字资产定义的原理和方法,包括CryptoKitties养猫游戏基于的ERC 721合约标准,到此读者可以编写以太坊应用了。

第8章 会进一步对如何查看、分析以太坊公有链数据的工具和方法进行介绍。

第9~10章 是前沿技术的探讨,涵盖以太坊性能优化和隐私保护技术。这些技术都在比较初级的阶段,读者可以一边阅读一边思考,提出自己的想法和建议。

作者简介:

闫莺 (博士),微软亚洲研究院主管研究员,区块链领域负责人,微软Coco区块链平台中国负责人。中国软件协会区块链创业学院及区块链专委会专家、中国电子学会区块链专家委员。专注与区块链技术、大数据分析、数据库以及云计算的研究。在区块链领域获得多项国际专利,并在数据库和云计算 领域国际顶级会议和期刊发表论文30余篇。参与翻译《区块链项目开发指南》。

郑凯 (博士),电子科技大学教授,博士生导师,澳大利亚昆士兰大学计算机科学博士。主要研究领域为区块链数据管理,以及时空数据挖掘、不确定数据库、内存数据库、图数据库等。在数据库、数据挖掘等领域的重要会议和期刊发表论文100余篇,被累积引用1500余次。2013年获澳大利亚优秀青年基金,2015年获数据库顶级会议ICDE最佳论文奖。担任数据库领域知名国际会议的程序主席和联合执行主席,国际SCI期刊客座编委,以及数十个国际等级会议的程序委员。

郭众鑫 微软亚洲研究院研发工程师,微软Coco区块链平台核心开发者。专注于区块链技术、大数据分析、分布式系统等方面的研究和开发。

㈦ 路由器有哪几类接口,都有什么区别

1、RJ-54端口:在这种端口上通过双绞线连接以太网。

10Base-T的RJ-45端口标志为“ETH”,而100Base-TX的RJ-45端口标志为“10/100bTX”,这是因为快速以太网路由器采用10/100Mb/s自适应电路。

2、AUI端口:这是一种D型15针连接器,用在令牌环网或总线型以太网中。

路由器经AUI端口通过粗同轴电缆收发器连接10Base-5网络,也可以通过外接的AUI-to-RJ-45适配器连接10Base-T以太网,还可以借助其他类型的适配器实现与10Base-2细同轴电缆或10Base-F光缆的连接。

3、高速同步串口:在路由器与广域网的连接中,应用最多的是高速同步串行口(Synchronous Serial Port),这种端口用于连接DDN、帧中继、X.25和PSTH等网络。

通过这种端口所连接的网络两端要求同步通信,以很高的速率进行数据传输。

4、ISDN BRI端口:这种端口通过ISDN线路实现路由器与Internet或其他网络的远程连接。

ISDN BRI三个通道(2B+D)的总带宽为144kb/s,端口采用RJ-45标准,与ISDN NT1的连接使用RJ-45-to-RJ-45直通线。

5、Console端口:Console端口通过配置专用电缆连接至计算机串行口,利用终端仿真程序(如Windows中的超级终端)对路由器进行本地配置。

路由器的Console端口为RJ-45口。Console端口不支持硬件流控。

6、AUX端口:对路由器进行远程配置时要使用“AUX”端口(Auxiliary Prot)。AUX端口在外观上与RJ-45端口一样,只是内部电路不同,实现的功能也不一样。

通过AUX端口与Modem进行连接必须借助RJ-45 to DB9或RJ-45 to DB25适配器进行电路转换。AUX端口支持硬件流控。

7、异步串口:异步串口(ASYNC)主要应用于与Modem或Modem池的连接,以实现远程计算机通过PSTN拨号接入。

(7)eth原理解析扩展阅读:

路由器原理:

网络中的设备相互通信主要是用它们的IP地址,路由器只能根据具体的IP地址来转发数据。IP地址由网络地址和主机地址两部分组成。

在Internet中采用的是由子网掩码来确定网络地址和主机地址。子网掩码与IP地址一样都是32位的,并且这两者是一一对应的。

子网掩码中“1”对应IP地址中的网络地址,“0”对应的是主机地址,网络地址和主机地址就构成了一个完整的IP地址。

在同一个网络中,IP地址的网络地址必须是相同的。计算机之间的通信只能在具有相同网络地址的IP地址之间进行,如果想要与其他网段的计算机进行通信,则必须经过路由器转发出去。

不同网络地址的IP地址是不能直接通信的,即便它们距离非常近,也不能进行通信。路由器的多个端口可以连接多个网段,每个端口的IP地址的网络地址都必须与所连接的网段的网络地址一致。

不同的端口它的网络地址是不同的,所对应的网段也是不同的,这样才能使各个网段中的主机通过自己网段的IP地址把数据发送送到路由器上。

参考资料来源:网络-路由器

㈧ 氧化膜详细资料大全

金属钝化理论认为,钝化是由于表面生成覆盖性良好的致密的钝化膜。大多数钝化膜是由金属氧化物组成,故称氧化膜。如铁钝化膜为γ-Fe2O3,Fe3O4,铝钝化膜为无孔的γ-Al2O3等。氧化膜厚度一般为10-9~10-10m。一些还原性阴离子,如Cl-对氧化膜破坏作用较大。氧化膜中存在两种类型的应力:氧化膜恒温生长时产生的生长应力和温度变化时由于金属与氧化物的热膨胀系数不同而产生的热应力。

基本介绍

  • 中文名 :氧化膜
  • 外文名 :oxidation film;oxide film
  • 代表例 :热氧化法及气相成长法
  • 用途 :半导体器件制造上有极为重要作用
  • 学科 :冶金术语
  • 领域 :冶炼
产生和释放,应力产生,生长应力,热应力,应力释放,应力测量技术,稀土元素影响,总结,

产生和释放

高温合金或高温防护涂层的抗氧化性能依赖于表面能否形成一层致密、完整的氧化膜。 氧化膜内应力是决定氧化膜完整性的重要因素。这是因为氧化膜内普遍存在的应力,往往导致氧化膜发生开裂和剥落,致使氧化膜丧失保护作用。通过对氧化膜应力的研究,可以了解氧化膜破裂机理,进而达到改善氧化膜抗剥落性从而提高金属材料或防护涂层的抗氧化性能的目的。 氧化膜应力的精确测量是氧化膜应力研究的基础。已经发展了多种氧化膜应力原位测量技术。由于氧化膜较薄,氧化膜与基体金属构成一动态复合体系以及环境温度高等特点,氧化膜应力的测试技术与常规薄膜的不同。从四十年代开始对氧化膜应力进行定量测量,由于技术的限制,测试范围和精度一直达不到像薄膜残余应力测量的程度。但是,近年来随着新技术的套用和研究的深入,在氧化膜应力方面才取得了明显进展。尽管如此,对氧化膜应力的研究工作还远远不够,许多问题亟待进一步澄清。 总结了氧化膜应力产生和释放机制,氧化膜应力原位测量技术以及稀土对氧化膜应力影响等方面的研究进展,以探求氧化膜应力研究的发展方向。

应力产生

氧化膜中存在两种类型的应力:氧化膜恒温生长时产生的生长应力和温度变化时由于金属与氧化物的热膨胀系数不同而产生的热应力。

生长应力

生长应力的产生因素较多,归结起来主要有: 1)氧化物和形成该氧化物所消耗金属的体积不同(对应的比值定义为Pilling-Bedw orth比,简称PBR) ; 2)氧化物在基体金属上取向生长; 3)金属或氧化膜成份变化; 4)膜内晶格缺陷; 5)新氧化物在已经形成的氧化膜内生成; 6)氧化物固相反应、再结晶及相变; 7)材料表面的几何形状。 通常认为第一种因素是最重要的。对各向同性的氧化膜,对实用纯金属, PBR通常大于1,氧化膜记忆体在压应力。而氧化物在基体金属上取向生长造成晶格畸变。这部分应力只对特别薄的膜才明显。对于不同的金属体系或是在不同的氧化条件下,其它因素的作用也可能十分突出,甚至是主要的。例如,通常认为氧化铝膜发生横向生长,即新的氧化物主要在已形成膜内的晶界处生成。此时,氧化膜横向生长是应力凳橘陪产生的主要因素。另外,金属试样初始表面形状对氧化膜内应力的性质及大小也有着十分明显的影响。Hunt z认为,在许多情况下,氧化膜应力的性质与氧化膜的生长机制有更直接的关系。 对于氧化膜生长应力产生的理论分析也进行了部分工作,提出了不同模型来解释氧化膜记忆体在的压应力。例如,新的氧化物在晶界处生成模型,界面刃型位错排列模型,界面突出物模型以及界面位错攀移模型等。这些模型对理解应力产生机制是十分有益的。但在目前情况下,由于缺少必要的关于氧化膜性质的参量,还达不到定量计算的程度枣蠢。

热应力

由于大多数氧化物的热膨胀系数小于金属的,在冷却过程中氧化膜受压应力。热应力可由下式进行估算。更精确的计算还应考虑杨氏模量和热膨胀系数随温度的变化。 eth= EoxΔT (Tm - Tox ) / [ ( 1- μox ) ( 1+ 2Eoxξ/Em H) ] ( 1) 式中E 杨氏模量, T热膨胀系数, 泊桑比,a、H分别为氧化膜和试样的厚度, Δ T温度改变。下标ox、m分别表示氧化物和金属。 另外,由于多晶氧化膜内晶粒的结晶学取向不是完全相同的,温度发生变化时,各晶粒间热膨胀各向异性,膜内也会产生热应力。多数情况下,由伍前这种机制产生的热应力较小,通常在100 MPa的量级。 而由热膨胀系数不同引起的应力在1000MPa 量级。

应力释放

氧化膜内最终存在的应力水平应是部分应力释放后取得平衡的应力。 膜内应力的释放机制主要有三种: (1)氧化膜塑性变形; (2)金属基体塑性变形; (3)氧化膜发生开裂和剥落。 材料的塑性变形包括两种类型:简单滑移和高温蠕变。高温蠕变可按三种机制进行:晶界滑移、扩散蠕变和位错攀移。其中,扩散蠕变包括体扩散控制的Herring-Naba rro蠕变和晶界扩散控制的Coble 蠕变。对于大多数氧化物,高温下不具备发生滑移所必须的5个独立体系, 因此高温蠕变将是氧化膜塑性变形的主要方式。在氧化物内,扩散慢的离子成为蠕变的控制步骤,同时温度和氧化物晶粒大小具有明显的影响作用。但是,已进行的大量高温性能的研究工作是针对大块烧结制备的氧化物的,而对薄氧化膜塑性变形机理的研究还极少。必须明确热生长薄氧化膜与烧结制备的大块氧化物性质有可能不同。这是因为,其一,尺寸效应的作用;其二,氧化物的掺杂不同;其三, 氧化膜中存在化学位梯度,即在氧化膜中点缺陷的浓度呈分布状态,氧化膜中的变形速度与位置有关。 对冷却过程中氧化膜应力释放的大小进行了仔细研究。结果表明,冷却速度较快时,氧化膜通过蠕变释放应力很小。而当冷却速度足够慢时,释放的应力就很明显。在恒温氧化过程中, 氧化膜的塑性变形是十分普遍的。这种现象在金属初始氧化过程中可原位观察到,较厚的膜也会发生大的弯曲。金属的塑性变形更易发生。条状试样氧化后其长度增加就是最明显的例子。 如果氧化膜中应力不能通过塑性变形得以释放,当累积达到一定值时,膜就会发生开裂和剥落。许多研究者采用力学原理分析了应力导致氧化膜发生破裂的机制。其中, Evans等人建立的氧化膜破裂模型及对破裂过程的定量分析受到广泛的重视。到目前,分析中采用的都是氧化膜内平均应力。事实上,氧化实验中常常观察到,剥落的氧化膜发生卷曲或氧化膜仅微区局部剥落,表明氧化膜记忆体在应力梯度以及微区应力集中。因此,为了深刻了解氧化膜破裂机理,有必要发展氧化膜微区应力测量技术并进行深入的研究工作。

应力测量技术

氧化膜应力原位测量技术主要有: 弯曲方法、高 *** 射线衍射法及光谱方法。其它方法还包括螺旋条法、圆盘法、线膨胀法及悬链线法等,但它们的套用极为有限。弯曲方法和高 *** 射线衍射法都存在明显不足。近些年由于对弯曲法的改进以及光谱技术的套用, 使氧化膜应力测量精度有较大提高,并能够测量氧化膜内应力分布或微区应力。 稀土对氧化膜应力影响的精确评定 在试样一侧面通过离子注入稀土元素或表面涂覆稀土氧化物, 如稀土对氧化膜应力产生影响, 那么氧化过程中试样发生偏转。 依据试样弯曲的方向和大小来判定稀土的作用。 在特定条件下还可以获得由稀土引起的氧化膜应力的改变。或者,采用上述双面氧化弯曲法测得不含稀土合金上形成的氧化膜应力,然后依据单面添加稀土试样的偏转可计算得出含稀土表面氧化膜应力的绝对值。 综上,双面氧化弯曲法由于试样不需镀制保护膜,不受氧化温度和氧化时间的限制,并提高了测试精度。 在研究稀土的影响时,不需要知道含稀土合金的杨氏模量及泊桑比等力学参量,对试样弯曲有影响的其它因素的作用相互抵消,测试精度有显著改善。 高温X射线衍射法 X射线衍射法是常用的一种薄物理膜残余应力测量方法。在X 衍射仪上附加高温台,套用常规的“ Sin2φ”法可实现原位测量氧化膜应力。但由于薄氧化膜的衍射峰通常较弱, 高角度衍射峰和基体金属的衍射峰经常重合,所以这种方法除需大型设备外,测量值往往较分散。 低的测试精度使这种技术不足以测量初始形成的膜内快速变化的应力以及长时间氧化后形成的较厚的膜内低的应力值。 方法 1)雷射喇曼光谱方法 喇曼散射光谱与固体分子的振动有关。 如固体存在应力时,某些对应力敏感的谱带会产生移动和变形。 其中频率变化与所受应力成正比, 即α= α· Δγ.α为频率因子, Δγ为被测试样和无应力标准样的对应力敏感的相同谱峰的频率差。测量时,首先需对α值进行标定。 Bi rnie等人最早利用雷射喇曼光谱方法研究氧化膜应力。原位测量了纯Cr在800℃下Ar+ O2 气氛中氧化形成的Cr2O3 膜生长应力以及室温下测量Cr2O3 膜的残余应力与应力分布。 测量结果表明, 晶粒中心处存在压应力,晶界处存在同等大小的张应力。这一结果对于了解氧化膜内应力存在状态以及应力导致膜内裂纹形成很有意义。 雷射喇曼光谱方法测试简洁,可方便地套用于高温原位测量。特别是雷射束斑直径小(可达1μm) ,对氧化膜透射深度浅(对Cr2O3 膜为0.3~ 0.5μm) ,测量氧化膜内微区应力以及应力分布时有着极大的优越性, 测量精度在10% 以内。该方法还适用于对初期氧化形成的薄氧化膜分析,并可同时确定氧化膜相组成。因此,该项技术在氧化膜应力研究中受到重视。 2)萤光光谱方法 α-Al2O3膜在雷射照射下有萤光辐射。对Cr掺杂的α-Al2O3膜,存在两个特征谱线。 有应力存在时,谱线频率发生变化,表现出压力光谱效应。由此可以非接触测量应力。由谱线宽化可测量应力分布。 Lipkin等人最早利用这种方法测量了Ni3 Al、Ni Al、Ni基和Fe基合金在1100℃空气中氧化形成的氧化膜的残余应力与应力沿深度方向的分布。测量误差在10%以内。 和雷射喇曼光谱方法相比较,它们都具有高的空间解析度,都可以测量微区应力与应力分布。萤光光谱法中,谱线频移与所受应力间有更直接的关系,它的谱线强度超过喇曼光谱的几个量级,这点对于非接触精确测定频移是非常重要的,即这种方法的测试精度要高。萤光光谱法也具有不足之处,只对几种体系有效: Cr3+ 掺杂的Al2 O3 , Sm5+ 掺杂的YAG, Cr3+ 掺杂的MgO。但是,由于主要的高温合金都是形成Al2O3 膜的,而合金中大多数是含Cr的。 因此,Cr3+ 掺杂的Al2O3 体系具有代表性。 当用于高温时,由于热效应会引起谱线宽化,所以温度限制在600℃以下。

稀土元素影响

在合金内添加稀土元素或稀土氧化物可显著提高合金的抗氧化性能,包括降低氧化膜生长速率和改善氧化膜的粘附性。到目前为止,稀土元素的作用机理还不十分清楚。通常认为氧化膜粘附性的改善起因于多种原因,例如降低了氧化膜应力或者促进膜容纳生长应力。 但已进行的直接测量结果并不完全支持这一假设。例如, Delaunay 等人的实验结果表明, 添加稀土元素可显著降低Ni-Cr、Fe-Ni-Cr及Fe-Ni-Cr-Al合金上复合氧化膜的生长应力。我们较早发现离子注入Y增大了Fe-23Cr-5Al合金上Al2 O3 膜生长应力,以后更细致的实验也得到同样的结果。 Buscai l等人发现表面的CeO2 膜对纯铁800℃氧化形成的FeO膜的生长应力几乎没有影响。而其它研究者采用间接的方法也证实,体内添加Y导致Fe-Cr-Al合金表面Al2O3 膜生长应力增大。 由于合金添加稀土后,会对氧化物晶粒尺寸及氧化膜自身的力学性质产生影响作用,稀土对氧化膜应力有影响是肯定的。既然有证据表明,稀土并不总是降低氧化膜应力,因此认为稀土更可能的是通过改善氧化膜/合金界面结合强度来提高氧化膜的抗剥落性能。这一结论有待于更多的关于稀土元素对氧化膜应力影响的测量工作来证实。

总结

虽然已对氧化膜应力进行了大量研究,但普遍性的结论并不多。到目前,对Cr2O3及NiO的应力研究较深入,而针对Al2O3膜的研究还极少。氧化膜应力研究与对氧化膜形成机理的研究密不可分。同时,在应力测量技术上还要不断鉴借薄膜物理领域研究的新成果。今后的研究重点归结起来有: (1)深入了解氧化膜应力的变化规律及影响因素; (2)氧化膜应力释放与氧化膜显微结构、表面及界面形貌的关系; (3)明确氧化膜内微区应力集中对膜内初始裂纹形成的作用以及氧化膜内巨观应力对裂纹扩展的作用。

㈨ 电信封路由的解决办法

分类: 电脑/网络 >> 互联网
问题描述:

我最近被电信封了路由,很多网页打不开,UC房间进不了,请问各位大师有什么办法?谢谢了!!!

解析:

转载:

找了两个方法,希望对你有帮助.比较多, 希望你能看懂.我也是成都的,也用的路由,没什么问题.不过不是学校里啊!

方法一

关于电信禁路由上网的破解方法

ADSL共享上网有两种方式,一种是代理,一种是地址翻译(NAT),大家常说的路由方式其实就是NAT方式,其实路由和NAT的原理还是有区别的,这里不作讨论,现在的ADSL猫一般都有NAT的功能,用它本身的功能实现漏前共享上网是比经济方便,本文主要讨论这种方式。

要想阻断一台以上的计算机上网必须能发现共享后边的机器是否多于一台,NAT的工作原理如图一所示,经过NAT转换后访问外网的内网的计算机的地址都变成了192.168.0.1而且MAC地址也转换成了ADSL的MAC地址,也就是说,从原理上讲,直接在ADSL出口抓经过NAT转换的包是不能发现到底有几台机器在上网。那是如何发现的呢?经过研究发现它是采用多种方法探测用户是否用共享方式上网,从而进行限制,下面分别进行破解:

图一、NAT的工作原理

一.检查同一IP地址的数据包中是否有不同的MAC地址,如果是则判定用户共享上网。破解的办法是把每台机的MAC地址改为一样.修改的方法如下:

首先要获取本机的MAC: MAC地址是固化在网卡上串行EEPROM中的物理地址,通常有48位长。以太网交换机根据某条信息包头中的MAC源地址和MAC目的地址实现包的交换和传递。

⑴在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。

⑵在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。

或者右键本地连接图标、选择状态然后点击支持选项卡,这里“详细信息”中包含有MAC和其它重要网络参数。

1. 如果你的网卡驱动有直接提供克隆MAC地址功能,如RealTek公司出的RTL8139芯片,那恭喜你了,点击“开始→设置→控制面板”,双击“网络和拨号连接”,右键点击需要修改MAC地址的网卡图标,并选择“属性”。在“常规”选项卡中,点击“配置”按钮,点击“高级”选项卡。在“属性”区,你应该可以看到一个称作 “Neork Address”或“Locally Administered Address”的项目,点击它,在右侧“值”的下方,输入你要指定的MAC地址值。要连续输入12个数字或字母,不要在其间输入“-”。重新启动一次系统后设置就会生效了(Windows 98和Windows 2000/XP用户操作略有区别,请参照系统说明操作)

2.如果你的网卡驱动没有提供克隆MAC地址功能,那下面分别提供一些方法,希望能找到一个适合你的

WIN98下:

a.在"网上邻居"图标上点右键,选择"属性",出来一个"网络"对话框,在"配置"框中,双击你要修改的网卡,出返知清来一个网卡属性对话框。在"高级"选项中,也是点击"属性"标识下的"Neork Address"项,在右边的两个单选项中选择上面一个,再在框中输入你要修改的网卡MAC地址,点"确定"后,系统会提示你重新启动。重新启动后,你的网卡地址就告修改成功!!

b.点击“开始猛历→运行”,键入“winipcfg”,选择你要修改的网卡,并记录MAC地址值。点击“开始→运行”,输入“regedit”运行注册表编辑器(在修改注册表前,一定要先备份注册表),依据注册表树状结构,依次找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net”,你会看到类似“0000”、“0001”、“0002”等样子的子键。从“0000”子键开始点击,依次查找子键下的“DriverDesc” 键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。

当找到正确的网卡后,点击下拉式菜单“编辑→新建→字符串”,串的名称为“neorkaddress”,在新建的“neorkaddress”串名称上双击鼠标,就可以输入数值了。输入你指定的新的MAC地址值。新的MAC地址应该是一个12位的数字或字母,其间没有“-”,类似“00C095ECB761”的样子。

有两种方法激活新的MAC地址:

如果你使用的是普通内置网卡,就必须重新启动计算机来使修改生效。

如果你使用的是PCMCIA卡,你可以按照下面的步骤操作而不必重新启动操作系统:运行winipcfg,选择并释放DHCP设置,关闭winipcfg。打开控制面板或系统托盘“PC Card (PCMCIA)”,停止并弹出PCMCIA网卡。重新插入PCMCIA网卡,打开winipcfg,选择并刷新DHCP设置,运行winipcfg,确定修改的MAC地址已生效

WIN2000下:。

a.在桌面上网上邻居图标上点右键,选"属性",在出来的"网络和拨号连接"窗口中一般有两个图标,一个是"新建连接"图标,一个是"我的连接"图标。如果你的机器上有两个网卡的话,那就有三个图标了。如果你只有一个网卡,那就在"我的连接"图标上点右键,选"属性",会出来一个"我的连接 属性"的窗口。在图口上部有一个"连接时使用:"的标识,下面就是你机器上的网卡型号了。在下面有一个"配置"按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项"高级"页,在"属性"标识下有两项:一个是"Link Speed/Duplex Mode",这是设置网卡工作速率的,我们需要改的是下面一个"Neork Address",点击该项,在对话框右边的"值"标识下有两个单选项,默认得是"不存在" ,我们只要选中上面一个单选项,然后在右边的框中输入你想改的网卡MAC地址,点"确定",等待一会儿,网卡地址就改好了,你甚至不用停用网卡!

你也可以在"设置管理器"中,打开网卡的属性页来修改,效果一样。

b.1.在“HKEY_LOCAL_MACHINE\SYS



TEM\CurrentControlSet\Control\Class\4D36



E972-E325-11CE-BFC1-08002BE10318\0000、0001、0002”等主键下, 因为你有可能安装了不止一块网卡,所以在这个主键下馍能会有多个类似于“0000、0001”的主键,这时候你可以查找DriverDesc内容为你要修改的网卡的描述相吻合的主键,如“0000”。



2.在上面提到的主键下,添一个字符串,名字为“NeorkAddress”,把它的值设为你要的MAC地址,要连续写如“001010101010”。



3.然后到主键下“NDI\params”中添加一项“NeorkAddress”的主键值,在该主键下添加名为“default”的字符串,值写要设的MAC地址,要连续写,如“001010101010”。



【注】实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的MAC地址还是取决于在第2点中提到的“NeorkAddress”参数,而且一旦设置后,以后高级属性中值就是“NeorkAddress”给出的值而非“default”给出的了。



4.在“NeorkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NeorkAddress”主键的描述,其值可为“MAC Address”(也可以随意设置,这只是个描述,无关紧要,这个值将会在你以后直接修改MAC地址的时候作为描述出现),这样重新启动一次以后打开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在MAC Address (就是你在前面设置的ParamDesc,如图(^***********a^)1)的选项,这就是你在第二步里在注册表中加的新项“NeorkAddress”,以后只要在此修改MAC地址就可以了。



5.关闭注册表编辑器,重新启动,你的网卡地址已经改好了。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项。用于直接修改MAC地址,而且不需要重新启动就可以实现MAC的随时更改。

WinXP下

大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址。在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。在“属性”区,就可以看到一个称作“Neork Address”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。要连续输入12个十六进制数字或字母,不要在其间输入“-”。

另外有几个可以修改MAC的软件都可以在XP/W2K下运行,大家可以去网上搜下,所以这里就不详细介绍了

linux下:

需要用 #ifconfig eth0 down 先把网卡禁用 ,再用ifconfig eth0 hw ether ***********ab ,这样就可以改成功了

要想永久改,就在/etc/rc.d/rc.local里加上这三句(也可在/etc/init.d/neork里加下面三行)

ifconfig eth0 down

ifconfig eth0 hw ether ***********ab

ifconfig eth0 up

如果你想把网卡的MAC地址恢复原样,只要再次把"Neork Address"项右边的单选项选择为下面一个"没有显示"再重新启动即可。在WIN2000下面是选择"不存在",当然也不用重新启动了。

二、通过SNMP(简单网络管理协议)来发现多机共享上网。有些路由器和ADSL猫内置SNMP服务,通过扫描软件(ipscan、superscan......)扫描一下,发现开着161端口,161是SNMP(简单网络管理协议)的服务端口,难道是通过SNMP协议发现的主机数量,用xscan对猫进行了漏洞扫描,果然有默认密码,登陆到猫的管理界面但是找不到关闭SNMP服务的地方,看来是留的后门,由此基本可断定是通过SNMP协议发现的主机数。为了进一步证实,用SNMP的一个管理软件ActiveSNMP查看ADSL猫的连接情况,如图二所示,可以清楚地看出通过SNMP协议可以发现同时上网的主机数量。

解决办法:

1.如果该猫可以关闭SNMP协议,那就把SNMP用的161端口禁止就行了.使用路由器或打开ADSL猫的路由模式共享上网的朋友可以进入管理界面有关闭SNMP选项的关掉它。如果猫的管理界面无关闭SNMP选项的只好买一个没有SNMP服务的路由器,例如TP-LINK TL-R400,放到adsl moden和hub中间,如下图.在该路由器中再做一个NAT服务,这样进到ADSL猫中的就是一个地址,这样就解决了共享上网。 注意在路由器中要关闭SNMP协议。

2.修改配置文件,可以将配置转换成一个文件,用二进制编辑工具修改默认密码,然后再加载到猫中,这只是一种思路,没有试过

三、监测并发的端口数,并发端口多于设定数判定为共享。

这是一个令人哭笑不得的设定,“网络尖兵”不停扫描用户打开的端口数,多于设定值的就判断是共享,有时连按几次F5键它是认为是共享,连单用户上网也受到了影响,这个就没法破解了(除非你把网络尖兵黑了),俺这里的解决办法是装成无辜的用户到ISP的客服电话大骂,并声明搞不好就换ISP,一会儿网络就正常了.

四、“网络尖兵”还使用了未知的方法从共享的计算机中探测到共享的信息,目前解决的办法是所有共享的客户机均要安装防火墙,把安全的级别设为最高,因条件有限,只试用了几种防火墙,发觉金山网镖V(gz-pet/Soft_Show?SoftID=10)有用,把IP配置规则里面所有的允许别人访问本机规则统统不要,允许PING本机不要,防止ICMP,IGMP攻击也要勾选。如果是WINXP,要打开网卡的网络防火墙。

采取以上破解的办法后,在自己的局域网不能看到本机,而且WINXP打开网卡的网络防火墙后,在QQ不能传送文件,网速有所减慢,但总算又可以共享了,如果有好的办法,也请大家告知。

总的来说,“网络尖兵”还是一个不成熟的产品,主要是他对单用户上网也产生影响,浏览网页经常要刷新几次,有的网页比较复杂,要调用几个服务器文件时它也当你是共享,造成网页部分不能显示。并且由于“网络尖兵”不停扫描用户端口占用带宽,导致网速变慢.

方法二

解决电信限制路由

如果电信是通过把帐号和网卡的MAC绑定来限制用户路由的话,我这里有办法可以解决!

试想一下,如果我们把ADSL的LAN的MAC地址改成用户网卡的MAC,这样就解决了问题,当然,

还得把用户网卡的MAC改一下啦,要不然就MAC冲突了。解决改用户网卡MAC可以通过两种办法

来解决:一是通过软件来修改网卡的MAC,二就是换块网卡啦!

查看用户网卡的MAC:在提示符下运行ipconfig /all 命令。

显示如下:

Physical Address. . . . . . . . . : 00-0E-A6-53-5E-95 这就是网卡的MAC。

接下来就要看用户ADSL的芯片了。

常用的ADSL有两种:conexant 和globespan。

对应星网的ADSL系列为:conexant 为3.*系列;globespan为4.*系列。

对应全向的分别为1680和1880系列。

3。*系列的前期版本比较好解决,用户可以通过WEB方式进行设置,

因为它有一个特殊的功能,叫做MAC欺骗,找到MAC Spoofing

这项在后面输入被绑定MAC的地址,再进行路由的相关设置就可以了。

3。*系列的后期版本WEB方式里已经没有这一项了,用户可以通过tel 命令来完成。

具体如下:在提示符状态下,输入 tel 192.168.10.1 192.168.10.1为ADSL的地址,

输入你的密码。这后就会显示如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

MAIN MENU

0. Select VC Adaptor

1. Display Firmware Version

2. Password Setup

3. Connection Status

4. Neork Setup

5. ADSL Setup

6. System Maintenance

S. Save Settings and Reset Unit

R. Reset Without Saving Changes

Q. Quit Session

Enter your selection below:

选择如下,按 4 就会出现如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

Neork Setup Menu

1. Display Neork Settings

2. LAN IP Address Configuration

3. Sub Mask Address Configuration

4. LAN DHCP Server Configuration

5. LAN DHCP Address Pool Selection

6. LAN DHCP Server Pool Configuration

7. NAT(P)T Configuration

8. 802.1D Bridge Configuration

9. IGMP Configuration

0. MAC Address Spoofing

A. WAN Configuration

Press 'B' to go Back

Press 'M' to go to Main Menu

Enter your selection below

再按 0 出现如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

MAC Address Spoofing

1. Disable/Enable spoofing

2. Set mac address

Press 'B' to go Back

Press 'M' to go to Main Menu

Enter your selection below

按 1 出现如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

Disable/Enable spoofing

* 1. Disable

2. Enable

按 2 就开启spoofing功能,回到如下画面:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

MAC Address Spoofing

1. Disable/Enable spoofing

2. Set mac address

按 2 设置MAC ,如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

Set MAC Address

Input mac address as format xx:xx:xx:xx:xx:xx

按照上面的格式输入MAC地址,输入完回车。 再按 M 回到主画面如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

MAIN MENU

0. Select VC Adaptor

1. Display Firmware Version

2. Password Setup

3. Connection Status

4. Neork Setup

5. ADSL Setup

6. System Maintenance

S. Save Settings and Reset Unit

R. Reset Without Saving Changes

Q. Quit Session

Enter your selection below:

再按 S 保存设置并重启设置,出现如下:

CONEXANT SYSTEMS, INC.

ACCESS RUNNER ADSL CONSOLE PORT 3.27

Save Settings and Reset Unit

This will save all the settings and reboot!

Press 'Y' to continue

Press 'B' to go back, 'M' for main menu

再按 Y 就保存设置并重启。

这样MAC Spoofing就设置完了,用户再到WEB方式下进行路由的相关设置。

当然也可以在TELNET方式下进行设置。

对面星网4。*的版本,也通过tel 方式完成 。

在提示符状态下:输入 tel 192.168.10.1

输入相应的用户名和密码。 OK 后就出现提示符 $ :

我们按下面的格式输入 do serialize xx-xx-xx-xx-xx-xx 命令

xx-xx-xx-xx-xx-xx 就是被绑定的MAC地址。

如下: do serialize 00-D0-F8-51-99-CD 输入完后回车,

ADSL就直接重启了,再进行路由的相关设置就OK了。

解决方法到此就完了,记得换另一块网卡或者通过软件改用户网卡的MAC地址,

在这里就不介绍如何通过软件改用户网卡的MAC了。以上方法我均已经验证过了,

方法也适用于全向的ADSL,本人原来是用全向的1880,我是湖南邵阳的宽带用户,

电信后来把帐号和网卡的MAC绑定,我就是这样解决路由的

㈩ 什么是ARP

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。



(10)eth原理解析扩展阅读:

RARP和ARP不同,地址解析协议是根据IP地址获取物理地址的协议,而反向地址转换协议(RARP)是局域网的物理机器从网关服务器的ARP表或者缓存上根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。与ARP相比,RARP的工作流程也相反。首先是查询主机向网路送出一个RARP Request广播封包,向别的主机查询自己的IP地址。这时候网络上的RARP服务器就会将发送端的IP地址用RARP Reply封包回应给查询者,这样查询主机就获得自己的IP地址了。

热点内容
我有一万个以太坊 发布:2025-06-29 07:04:26 浏览:995
共享云矿机交易群 发布:2025-06-29 06:43:11 浏览:776
129冰淇淋套餐合约怎么解除 发布:2025-06-29 06:34:18 浏览:413
区块链全是诈骗包括国家 发布:2025-06-29 06:30:03 浏览:23
印度军队数字货币 发布:2025-06-29 06:09:03 浏览:627
比特币使用领域 发布:2025-06-29 06:02:29 浏览:582
usdt提现平台 发布:2025-06-29 05:46:02 浏览:790
usdt未来价值 发布:2025-06-29 05:21:47 浏览:269
物联链送以太坊 发布:2025-06-29 05:21:39 浏览:932
移动手机卡合约提前注销会怎么样 发布:2025-06-29 05:20:19 浏览:50