網絡協議多層發現詳情——附發現實例介紹

在過去幾年裏, 關於不同類型信息交流的多層網絡信息傳輸已經成爲人們感興趣的課題。 特別是它對於不同平臺使用者交流的象徵性作用。這種信息交流網絡的數學描述被命名爲多層網絡, 在多層網絡中每一層都有一種相互作用。它已被證明, 這些網絡上的頂部的擴散過程中出現的現象,不能被解釋的原生傑加的單層擴散現象,但需要整個結構的相互關聯的層。然而這種關於多層網絡的描述忽略了一個事實, 就是社會網絡對於不同社區具有相同興趣的個人或者其他社會階層的人具有很強的中型構造。在這次工作中, 我們學習社區結構在多層網絡中傳輸信息。最後的目標是理解並且量化,如果在個體層存在定義好的社區結構,聯合整個網絡的多層結構,加強或者惡化信息包。

1、簡介

由於不斷增加的信息和商品通過網絡傳輸, 網絡傳輸特性的學習已經變得越來越重要。其中最主要的關注點是如何讓信息在網絡中的擴散容量更大並且傳輸時間更短。信息被組織成單元〈包)。包的處理和分發需要一個有限的時間。包的路由策咯和網絡拓撲結構在網絡擁塞中扮演了重要的角色。 在現實設計中, 像在線網絡,人們對於網絡拓撲結構的瞭解僅僅限制在本區域的影響之下。 因此,大部分的關注點被定義爲“尋找 ”發送信息的過程就是尋找到達目的地的路徑。再者,假如結點處理並且分發包的能力是有限的,擁塞的問題將會出現。如今已經被證實, 不論在現實網絡中還是模型傳輸網絡中, 當流量超過臨界值時就會出現網絡崩潰。

總體來說,太部分現實設計的系統都包括多層子系統和聯繫層。當嘗試去理解整個系統時重要的是把系統的特性考慮在內。更爲重要的是多層網絡傳統網絡理論的概括。直到現在,網絡的描述建立在單個和組合的聯繫的快明,它是一種在特定時間窗口下的瞬時的或者累積的聯繫。當嘗試去理解一個多層系統 (該系統包括一些不同的時間視圖和共存的由現實網絡交互組成的結構模塊)錯綜複雜的可變性時,這種描述是有限的。e-社會網絡正在不斷的改變,包括一些與短時間的或者長時間的聯繫。興趣組逐漸發展並且壯大, 於此同時個體結點在相同的時間通過不同的興趣參與其中。 對於這種複雜性的精確描述需要考慮到這種相互作用的區別和它們隨着時間的發展。在過去兩年裏, 研究網絡理論的科學社區一直集中於這個問題並且提出了一種解決方式命名爲多層網絡結構。

一般來說,網絡科學家集中關注於多層網絡的流量, 並且這種拓撲結構的結果已經被證明是遠高瑣碎的。舉個例子, 作者發現了多層結構的頂端一個一般擴散的過程能夠加速那些低擴散的層。它也能夠引起一個超級擴散的過程增強所有層的擴散。當多層網絡中層之間的傳輸速度比層內的傳輸速度快時,這種顯著的結果將會出現。這些後果的隨機行走在擴散的高散表示中也觀察到, 並對多重結構的適航性明確的後果。
現在我們集中注意力來研究信息在多層網絡頂部的傳輸過程。我們的目標是確定一個多重網絡冉子社區結構的影響。 在信息傳輸的動態性方面模塊化層次。 最後我們觀察一個特殊的建立,在那兒複雜網絡被建立,解析信息傳輸的擁塞。 我們的結果顯示當不同層的社區結構是等從的並且社區重要, 多層網絡對於擁塞能夠提供更好的恢復力,因此多層網絡系統比起個體網絡系統也會提高信息的傳辦。另一方面, 當社區結構是不同的但是社區仍然生營的,多層網絡結構提供一個平衡的環境,在該環境中系統的效率是平均的。在中間情況下,也就是所有層和社區重劃的社區結構是相似的,多層網絡結構的效果是毀滅性的,還會通過降低系統阻塞的開始來阻礙信息傳輸。

2、材料與方法

已經定義好的動態模型考讓到信息被分成包以原子的形式在網絡中從初始結點傳輸到目的結點。每個結點都是可以存儲一些包的一個獨立的代理。然而,爲了能有一個現實交流的快照,我們必須假設結點有一個固定的容量去操作和傳輸包。意思就是一個結點傳輸兩個包的時間要大於一個包的時間。這種物理的約束在傳輸信息方面起源於網絡擁塞。 當一個特殊的代理接收到的信息量過大時,它不能處理完所有的包並且有些包經過很長時間都沒有補處理。在這個學習當中, 我們的興起主要集中在當系統明塞發生時主要取決於多層網絡的拓撲結構, 特別是與它的社區結構的聯繫。

3、信息傳輸的動態性

模型的動態性是這樣的在每個時間點t,每個結點以速度 p 創建信息包。因此,p是一個可控參數(p 值越小表示包生成的密度作,p 值越大表明生成了大量的包)。當一個新包生成時,網絡中一個隨機的結點將作爲目的結點。因此,在時間t+1,t+2,...t+T 內,旬傳輸向目的結點。當一個包到達了目的結點,那麼它將傳輸結束並且從網絡中消失。

包在網絡中的傳輸時間不僅與路徑的長度有關, 還與分享該路徑的包的數量有關。高負載的結點,即高容量的積累的數據包,將需要更長的時間來發送數據包, 換句話說,數據包將花費更鄉的時間去通過高阻塞的網絡區域。我們假設,沒有概率丟失的情況下,結點在單位時間段只能處理一個包,沒有傳輸的包將被存鋪在每個結點的一個先進先出的隊列中。路徑的選擇由中由策略決定並且隨機選擇最突出的策略。然而,必須重點指出,模型是不確定的。舉個例子,兩個結點之間的最短路徑也許有多條,隨機選擇一條來傳輸包。再者,當有幾個包同時進入隊列時先後順序是沒有定義的。


個體層網絡原始的工作顯示低的包注入率 p 不會在任一結點上產生累積。再者,到達結點 i 的包的數量是規定好的,平均爲 pBi(N-1),其中 Bi爲結點 ;的有效介,N爲網絡中的結點個數。有效介的定義是: 穿過結點; 的路徑個數與穿過網絡的總路徑個數的比率。
 

當結點單位時間內接收到的包比傳輸出去的包多時,擁塞就會出現 ,即pBi(N-1)j>1。因此,最先賄潰的結點是有效介值最大的結點。即 Bi* = max(Bi最大的注入網絡的比率(網絡是無擁塞的), 也就是關鍵注入網絡比率 pc=(N-1)/(Bi*)。其他結點崩潰的條件是更大的注入網絡比率。然而,直到現在, 沒有人知道如何計算關鍵注入網絡比率因爲它不僅取決於拓撲結構的有效介而且取決於整個網路的擁塞狀態。

路由動態特性的普遍化暴漏在多層網絡中,包到達a層i結點的個數爲 pPLBia/(N-1),其中L爲多層網絡的層數,Bia 爲 a 層i結點的有效介。因此,關鍵注入網絡比率依舊取決於有效介, 它封裝了路由策略和網絡拓撲結構。pc=((N-1)/U/max(Bia)。下一步,我們擴展一下多層網絡有效介的定義去允許計算出現擁塞的狀態 。

2.2.多層網絡有效介的計算


多層網絡主要方法的擴展不是直接的,需要特殊考慮。在一些情況下,一些擴展是有可能的並且取決於目前的問題把個體網絡的主要方法運用到多層網絡必須要做出幾步擴展。我們遵循 De Domenico的描述, 這在數學上是基於多層網絡的張量形式主義。

我們首先定義多層網絡上兩個個體s 和 t 之間有一系列的結點,通過層內與/或者層間的邊相連。 注意這個定義我們只考慮了結點沒有考慮層。這種缺乏區別的定義是因爲在多層網絡結構中,不同的節點副本在不同的層對應於相同的個體(社交網絡) 或位置(交通網絡) ,因此,更重要的是知道是否有包到來而不是在哪一層。圖表 1 顯示了多層網絡中兩個結點之間的路徑 (沒有繁瑣的效果需要考慮因爲隔層的出現影響着穿過網絡系統的路線) 。

假設在多層網絡拓撲結構中一條路徑的定義是,a 層i結點中有效介 Bia 可以作爲路徑(穿過 a 層i 結點的任何可能的路徑對(s,t)) 的一部分,有些情況下很容易得到結點 ;與層無關的有效介。在這種情況下有效介可以通過 ; 代表的每一層的貢獻的累積得到,Bi=累加(Bia)。

對於有效介最短路徑的一種特殊的情況,從任一層s結點到任一層t結點每走一步都被限制在最小距高的道路上 .距離函數還必須把路徑上的每條邊的權重考慮在內。在這次工作中,沒有概率丟失,我們假設邊的權重是同等單位長度,並且定義路徑長度是穿過的邊數。兩個結點的最短路徑可能會退化, 因此最短路徑的建立也許包含單層網絡的最短路徑(傳統最短路徑) 和切換層的路徑(純多層網絡路徑) 。通過對最短路徑的精確計算,我們必須特別關注路徑退化。一個好的並且有效的算法被發現了。

與最短路徑有效介類似,隨機路徑有效介取訣於網絡傳輸過程的定義。一個隨機路徑被定義爲: 在每個時間點上, 下一個被訪問的結點與上一個被訪問的結點被選中的概率是相同的。隨機路徑有效介通常是計算從網絡的鄰接矩陣得到轉移矩陣。對於多層網絡隨機路徑的細節描述看【17】 在這篇文檔中我們將使用傳統
 

2.3.多層網絡社區結構

複雜系統的網絡代表具有社區結構, 這意味着它們之間有稀疏連接的結點的存在。衆所周知,在多層網絡的最頂層運行的動態過程在社區結構上有很大的獨立性,這個對過程或好或壞的影響。當在多層網絡的不同層建立社區結構時,對於整個系統的影響不能像瑣事一樣被忽略。

在這裏,我們提出了一個簡單的設置(社區結構, 社區完全重要的層次和網絡中每個結點保持恆定的程度) 去發現社區在信息傳輸過程中的基本影響。 每個多層網絡包括兩層。每層包含 256 個結點分佈在 4個社區中〈每個社區 64 個結點)。鏈接是以這種方式形成的, 社區內部的密度通常比它們之間的密度高。網絡在每一層獨立的形成,導致在一個兩層複雜網絡中每一層用不同的社區結構。

在這個實驗中,我們考慮到 12種不同的複雜社區結構和300中不同的實現方式。對於它們,我們規定最底層爲 kin=31 和 Kout=1(31 條邊在社區內,1 條邊連接社區外面),它展示了清晰的和強壯的社區結構,並且我們改變最頂層的社區結構(它的範圍從原先的強壯的塊結構到一個更薄的更細微的社區結構) kin=20 和Kout=12。我們用一個混合參數 (u=Kout/k) 量化 L2 層社區結構的長度。圖表 2顯示了通過這種方式形成的網絡的 3 種實例。

3.結果

要估計社區結構對於多層網絡在信息傳輸方面的影響, 我們評估信息傳輸動力學的幾個方面 命名爲最短路徑分配, 即每個結點中包的遷入速率和網絡的關鍵注入速率。

圖表 3 顯示了多層網絡在不同層的最短路徑分配。在這種情況中(每一層的社區結構相同),多層結構提供了一個非常好的負載平衡在層 1 和層 2 路徑相同的部分。總體來說,我們可以總結出, 對於整個系統表現來說多路傳輸是可以忽略不計的,因爲只有很小一部分路徑(0.5%) 使用了整個多層結構。事實上,只有這種情況下會使用多層網絡全部層: 原點和目的結點在不同的社區中。 當我們在第三層增加混合參數時,它的社區結構被稀釋了, 增強了社區之間的交流但是阻礙了內部信息的傳輸。 這種影響在圖表 3 中非常明顯出: 在第二層大量增加了社區外的遊歷並且在第一層增加了一小部分社區內的路徑。於此同時,theimprovement of intercommunity paths in the more diffuse layer yeilds adisappearance of the (already small number ofjshortest paths using both layers.

要評估系統微觀的表現, 我們來展示怎樣用混合參數來改變每個結點包遷入的速
度。我們計算多層結構中每個結點的遷入速度=LBia/(N-1),結果顯示在圖表 4中。對於最短路徑路由策略,我們觀察到層 1 和層 2 中結點的一個很清晰的區別。我們觀察圖表 3,混合參數的增大主要影響到層 1 到層 2 的最短路徑的一個清楚的移動。穿過層 1的路徑發現了一條穿過層 2 更爲有效的路由策略, 它有一個更加稀釋的社區結構。這次路徑的遷移需要增加層 2 結點遷入的速度類似於觀察到減少層 1包的遷入速度。這是小的混合參數的情況,但是增加混合參數意着層 2中不同社區結點路由傳輸包的效率的增加, 這反過來實質上誠少了所有結點的有效介 (引起描述整個系統最終效率的一個有趣的折中)。

這兩種相反的效果(最短路徑的遷移和誠少結點有效介) 對於層 2 中結點遷入的速率有巨大的影響 當最大的遷入速度到達時將經歷一個持續的降低。對於隨機路由策略,場景時完全不同的。混合參數的增加對每一層有相同的影響,它們將經歷一個遷入速度的降低。

圖表 5,6 展示了社區結構對關鍵注入速度 pc 的影響 。對於最短路徑路由策略,多層網絡的關鍵注入速度達到了它們最小的值大約 u=0.1。這個最小值意味着最糟糕的情況,因爲多層網絡拓撲沒有個體層的效率高。另一方面,層 2 的關鍵注入速度的表現是單調上升的。這種情況是預料之中的,因爲很少有明確的社區結的結構引起平均最短路徑長度的降低,反過來它與結點的有效介的減少是正相關的。

總體來說,如果我們比較多層網絡 pc 的值並且將層 L1 和層 L2 分開,我們將會發現 3 種可能的情況: (1) 該多路複用比單層更靈活(高效)。當每一層都有相同的社區結構時這種情況將會出現。(2) 該多路複用效率比任意層都低。這種設置對應於多層結構的最小應變能力。(3) 複用效率達到中等值,這是兩個層的彈性之間的一個折訓。 在真正的設置中, 這種情況意味着在多路複用中加入這兩層通過退化第二層的恢復力來提高第一層的恢復力。然而, 我們在圖中可以觀察到
效率的降低大於全部層平均效率的降低,因此層之間的耦合是低效率的。

關於隨機遊走路由策略,這種情況是完全不同的。對於相同的社區結構,多路複用降低了效率,因爲路徑掉入了社區的陷阱裏, 總體來說,我們將獲得一個與所有層平均效率相符的效率。
 

 

發現:即識別活着的主機
#潛在的被攻擊目標
輸入一個IP地址列表探測2、3、4層發現

 

主要以掃描探測爲主介紹探測:

 

二層發現:


1、優點:掃描速度快、可靠
2、缺點:不可路由                 #只能發現本網段的
Arp協議:通過抓包
——————>>>>>>>可以通過以下方式修改網絡配置

(vi /etc/network/interfaces             ——>dhcp/static)
==========================
allow-hotplug eth0
ifcae eth0 inet static
    address ........
    network ......
    netmask .......
    broadcast .......
    gateway ....
    dns-nameservers .......
==========================


主要以arping爲主進行二層發現:               #只能ping一個

arping 1.1.1.1 -c 1   //指定一個包
arping 1.1.1.1 -d     //-d可以查看是否重複,即ARP欺騙
arping -c 1.1.1.1 | grep "bytes from" | cut -d" " -f 5 


腳本:
    arping1.sh eth0>addrs
==================================

#!/bin/bash
if["$#" -ne 1];then
echo "Usage - ./arping.sh [interface]"
echo "Example - ./arping.sh eth0"
echo "Example will perform an ARP scan of the loacl subnet to which eth0 is assigned"
exit
fi
interface=$1
prefix=$(ifconfig $interface | grep 'inet addr' | cut -d ':' -f 2 | cut -d ' ' -f 1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254);
do
arping -c 1 $prefix.$addr | grep "bytes from" | cut -d"" -f 5 | cut -d"(" -f 2 | cut -d")" -f 1 >> addr.txt
done


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

三層發現:

優點:
1、可路由
2、速度比較快
缺點
1、速度比二層慢
2、經常被邊界防火牆過濾    
IP、ICMP協議——>>>每種掃描技術都會存在誤報、漏報的可能性。

主要以ping命令爲主:

ping 1.1.1.1 -c 2
ping -R 1.1.1.1 / traceroute 1.1.1.1
ping 1.1.1.1 -c 1 | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1


腳本:
    ping.sh 1.1.1.0
==================================

fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254);do
ping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1 &
done


#發出的是8號類型包,回的是0號類型包
#Linux的ping與Windows的ping樣式一樣,實現的內容不同,用抓包觀察


Scapy探測:
OSI多層堆疊手工聲稱ICMP包——IP/ICMP
    ip=IP()
    ip.dst="1.1.1.1"
    ping=ICMP()
    a=srl(ip/ping)
    a.display()
    Ping不存在的地址
        a=srl(ip/ping.timeout=1)
     //一次性:a=srl(IP(dst="1.1.1.1")/ICMP().timeout=1)   得不到響應就會不動彈了,timeout就是限制這個

i=IP()
>>> p=ICMP()
>>> ping=(i/p)
>>> ping.dispaly()
>>> ping[IP].dst="172.20.10.1"
>>> ping.display
>>> a=srl(ping)
>>> a.display

也可以利用fping探測:

fping 1.1.1.1 -c 1
fping -g 1.1.1.1.1 1.1.1.2 -c 10   //指定發哪些地址
fping -g 1.1.1.0/24
fping -f iplist.txt


也可以利用hping探測:
1、能夠發送幾乎任意TCP/IP包
2、功能強大但每次只能掃描一個目標
 

hping3 1.1.1.1 --icmp -c 2
for addr in $(seq 1 254);do hping3 172.20.10.$addr -icmp -c 1 >>handle.txt &done
cat handle.txt | grep ^len            //^代表以什麼爲起始

 

四層發現:


優點:
1、可路由且結果可靠
2、不太可能被防火牆過濾
3、甚至可以發現所有端口都被過濾的主機
缺點:
1、基於狀態過濾的防火牆可能過濾掃描
2、端口掃描速度慢
TCP數據包請求過程:
首先未經請求的ACK——RST
其次SYN——SYN/ACK RST              #通過我們發的包確定他是否在線,會回一個rst包
UDP數據包請求過程:
——>ICMP端口不可達  一曲不復返:ACK——TCP  Port——RST
Scapy探測:
    i=IP()
    i.dst="1.1.1.1"
    t=TCP()
    t.dport=端口號 
    t.flags='A'
    r=(i/t)
    a=srl(r)
    a.display
a=srl(IP(dst="1.1.1.1")/TCP(dport=80,flags='A'),timeout=1)
ACK_Ping.py

#現實中應該用多種協議方式去掃描,目標,更加準確

UDP——UDP Port——ICMP
u=UDP()
u.dport=33333
r=(i/u)
a=srl(r,timeout=1,verbose=1)
A.display()
    ICMP
    UDP_Ping.py
#UDP發現不可靠

nmap探測請求:

nmap 1.1.1.1-254 -PU53 -sn           //PU是UDP的數據包,53是端口
nmap 1.1.1.1-254 -PA80 -sn            //PA是ACK的數據包,80是端口
nmap -iL iplist.txt -PA80 -sn

通過hping3發送探測:
hping3 -udp 1.1.1.1 -c 1
for addr in $(seq 1 254); hping3 -udp 1.1.1.$addr -c 1 >>r.txt;done
    grep Unreachable.txt | cut -d "" -f 5 | cut -d "=" -f 2
    ./udp_hping.sh 1.1.1.0
hping3 1.1.1.1 -c 1 (TCP)
    Hping3 1.1.1.1
    ./TCP_hping.sh
    Flog 0 ——————ACK RST          //通過返回ACK+RST判斷是否存活

hping3 --udp 1.1.1.1 -c 1
腳本:
===================================

#!/bin/bash
if["$#" -ne 1];then
    echo "Usage - ./udp_hping.sh [/24 network address]"
    echo "Example - ./udp_hping.sh 1.1.1.1"
    echo "Example will perfrom a UDP ping sweep of the 1.1.1.0/24 network and output to an output.txt file"
    exit
fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254);do
    hping3 $prefix.$addr --udp -c 1 >> r.txt;
done
grep Unreachable r.txt | cut -d " " -f 5 | cut -d "=" -f 2 >> output.txt
rm r.txt

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

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

#!/bin/bash
if ["$#" -ne 1 ]; then
    echo "Usage - ./tcp_hping.sh [/24 network address]"
    echo "Example - ./tcp_hping.sh 192.168.1.0"
    echo "Example will ................."
    exit
fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254);
     do
    hping3 $prefix.addr -c 1 >> r.txt
done
grep len r.txt | cut -d " " -f 2 |cut -d "=" -f 2 >> output.txt
rm r.txt


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


#使用腳本唯一的原因就是隻能掃一個,不能掃網段

#發現就是一個原理:只要發出的數據包不會石沉大海,那麼就證明可能存活,RST表示拒絕,說明判斷他活着,ACK表示返回了包。
並不是說判斷他存活與否一定是存活,沒有100%


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章