eth原理解析
㈠ 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地址了。