來源主機發出「ARP Request」封包
目的主機回應「ARP Reply]封包
舉例流程:
案例:HostA > HostB
流程1:來源電腦(HostA) > DNS > ARP cache > 廣播詢問目標電腦 > 目標電腦回應(HostB),進行雙向通訊(ARP Reply)
流程2:來源電腦(HostA) > DNS > ARP cache > 廣播詢問目標電腦 > 丟棄封包
#網路剪刀手原理就是ARP弱點攻擊
#在區域網路內,真正用來定址傳送的是利用MAC位址。
#ARP主要是透過廣播方式
查詢ARP cache
$ arp -a
新增靜態型態進ARP cache
$ arp -s [IP Address] [Mac address]
刪除ARP cache
$ arp -d [IP address] [Mac address]
---------------------------------------------------------------
#ICMP網際網路控制訊息協定(Internet Control Message Protocol)
ICMP是TCP/IP網路中傳遞一些基本訊息的協定,驗證部分較為薄弱。
主要目的在於輔助IP協定的不足,回傳「錯誤回報」、「偵測錯誤」
查詢
type |
ICMP訊息類型說明 |
0 |
Echo Relpy(回應應答) |
8 |
Echo Request(回應要求) |
9 |
Router Advertisement(路由器回應) |
10 |
Router Solicitation(路由器要求) |
13 |
Timestamp Request(時戳要求) |
14 |
Timestamp Reply(時戳應答) |
17 |
Address Mask Request(位址遮罩要求) |
18 |
Address Mask Reply(位址遮罩應答) |
錯誤回報
type |
ICMP訊息類型說明 |
3 |
Destination Unreachable(目的無法到達) |
4 |
Source Quench(抑制來源) |
5 |
Redirect(重新導向) |
11 |
Time Exceeded for a Datagram(時間逾時) |
12 |
Parameter Problem on a Datagram(參數錯誤) |
舉例流程:
案例:HostA > HostB
流程1:來源電腦
ICMP Request(HostA) > ARP Request(HostA) > DNS > ARP cache > 廣播詢問目標電腦 > 目標電腦回應(HostB),進行雙向通訊(ARP Reply) >
>
ICMP Reply(HostB)
#阻絕服務攻擊DoS原理就是ICMP弱點攻擊
#封包追蹤路徑
windows:
tracert [IP address]
linux:
traceroute -P ICMP [IP address]
補充參考連結:
- http://idobest.pixnet.net/blog/post/22040166-%5B%E8%BD%89%E8%B2%BC%5D-traceroute-%E7%9A%84%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%B4%B9
---------------------------------------------------------------
#路由協定(Routing Protocol)
主要目的在於幫助來源主機找到目的主機所經過的路徑。
常使用兩種動態路由協定RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)。
距離向量路徑選擇DV Routing(Distance Vector Routing),主要是計算兩者之間距離(稱躍點數),並依據最近躍點數最少為原則進行
外部閘道有EGP:EGP、BGP
內部閘道有IGP:RIP、OSPF
//查看路由
$ ip router
//新增路由
$ ip router add [network destination] via [geteway] metric [metric] dev [interface#]
//修改路由
$ ip router change [network destination] via [geteway] metric [metric] dev [interface#]
//刪除路由
$ ip router del [network destination]
---------------------------------------------------------------
#UTP(User Datagram Protocol)
著重兩端伺服器之間的溝通協定,忽略中介節點的路由無關,透過「路由協定」尋找最佳路徑。
舉例流程:
案例:HostA > HostB
流程1:來源電腦(HostA) > DNS > ARP cache > 廣播詢問目標電腦 > 目標電腦回應(HostB),進行雙向通訊(ARP Reply) > SNMP request > SNMP response
服務名稱 |
PORT |
傳輸協定 |
DNS(Domain Name System) |
53 |
UDP |
SNMP(Simple Network Management Protocol) |
161 |
UDP |
SNMP Trap |
162 |
UDP |
RIP(Routing Information Protocol) |
520 |
UDP |
FTP data(File Transfer Protocol) |
20 |
TCP |
FTP Control(File Transfer Protocol) |
21 |
TCP |
SSH(Secure Shell ) |
22 |
TCP |
Telnet(Telecommunication network) |
23 |
TCP |
SMTP(Simple Mail Transfer Protocol) |
25 |
TCP |
HTTP(HyperText Transfer Protocol) |
80 |
TCP |
POP3(Post Office Protocol - Version 3) |
110 |
TCP |
---------------------------------------------------------------
#TCP(Transmission Control Protocol)
主要在屬於傳輸層
TCP是一個完整的協定,他會經過「建立連線」、「資料傳輸」、「關閉連線」也就是「三向交握」(Three-way handshake)
TCP連線可跳脫「網路層、資料連結層、實體層」,直接進行兩端「傳輸層」連線
TCP是一條全雙工(full-duplex),主要以「正確性」為主的協定
TCP是同步傳輸、可靠的傳輸協定、較無效率傳輸協定、流量控制
TCP對資料處理方式以byte為一個最小基本單位,傳送端要透過TCP傳輸之前,必須先進行編碼成一個一個位元組(byte),這些位元組所組成的集合,稱為「位元組串流」(Byte stream),TCP會將產生的「位元組串流」放入暫存區,稱為「輸出緩衝區」(output buffer)
---------------------------------------------------------------
#IPv6
IPv4傳播模式有,單點傳播(unicast)、群播(multicast)、廣播(broadcast),IPv6傳播方式中,將廣播列為群播的一個特例,所以少了一個「廣播」、多了一個「任意傳播」(Anycast)
---------------------------------------------------------------
#動態主機組態協定DHCP(Dynamic Host Configuration Protocol)
完整網域名稱FQDN(Fully Qualified Domain Name),與IP位置一樣採用「點狀表示法」
網域名稱和作業系統的檔案一樣,分為「絕對路徑」、「相對路徑」
網路資訊中心NIC(Network Information Center)
網址位址轉換NAT(Network Address Translation)標準的訂定,即是處理IP位址短缺現象,也就是由內部網路使用「私人IP位址」再透過NAT伺服器的IP轉換機制,轉換成外部網路的「公開IP位址」
1.網址位址轉換NAT(Network Address Translation):此種轉換方式只負責轉換IP位址
2.NAPT(Network Address Port Translation):此種轉換機制不僅轉換IP位址,也轉換連接port
windows DNS清除方式
#清除
$ ipconfig/flushdns
#查詢cache
$ ipconfig/displaydns
---------------------------------------------------------------
#網路管理與網路安全:
管理範圍有錯誤管理、組態管理、效能管理、帳務管理、安全管理
安全管理有對稱金鑰系統、非對稱金鑰系統、雜湊函數、數位憑證、電子簽章
資訊安全基本項目:資料保密性或隱私性(Data Confidentiality)、資料完整性或正確性(Data Integrity)、鑑別性或認證性(Authentication)、不可否認性(Non-Repudiation)、存取控制(Access Control)、可用性(Availability),通常要達到以上基本項目,都要使用密碼學的技術
密碼學應用基本項目:
1. 演算法(Algorithm):
分為加密演算法(Encryption Algorithm)與解密演算法(Decryption Algorithm)
2. 本文(Text):
分為可閱讀性本文(Readable Text)與不可閱讀性本文(Unreadable Text)
3. 金鑰(key):
分為加密金鑰與解密金鑰
傳統密碼學基本技巧:置換(Transposition)、取代(Substitution)
近代密碼學基本技巧:串流加密法(Stream cipher)、區塊加密法(block cipher)
串流加密主要是處理「影音加密、電話語音加密、無線網路傳輸加密」,並以位元組(Byte)為基本的單位做傳送,所以針對位元組流(Byte Stream)進行加密的方式稱為(串流加密法),主要利用XOR基本運算技術加密
區塊加密法主要針對「電子資料」,將資料切個成大小相同的區塊,再依據不同演算法進行加密,稱為區塊加密法
對稱式金鑰加密
非對稱式金鑰加密(Asymmetric Key Encryption System):對稱式金鑰加密系統,加、解密雙方是共同擁有一把相同的密鑰。公鑰加密必須用私鑰解密、私鑰加密必須用公鑰解密。但是由私鑰加密後傳送出去保密性較低
數位信封(Digital Envelope):將自己產生的「密鑰」加密後的資訊,稱為數位信封,當對方收到「數位信封」後,可以使用自己的「私鑰」將「數位信封」解密,取得內藏的密鑰。
數位憑證(Digital Certificate):主要將申請憑證的擁有者資訊,稱之為「主體識別資訊」(Subject Identification Information),當接受到此憑證的人,亦可取得憑證授權中心的公鑰,進行該憑證身份鑑別,保證憑證內的「公鑰」確實是該主機所擁有。
SSL(Secure Sockets Layer):目前網際網路最普遍被使用的一種安全協定,SSL協定是基於TCP/IP協定組,並位於「傳輸層」之上、「應用層」之下的一種協定,
SSL流程:
1. clinet送出ClientHello訊息給server,表示要求連線
2. server回應ServerHello訊息給client,表示收到要求連線
3. server主動將「數位憑證」傳送給client,此動作主要目的是傳送「數位憑證」中的「公鑰」給client
4. client接收到server「數位憑證」後,從該「數位憑證」取得的伺服器的「公鑰」再利用此「公鑰」自己隨機產生「會議金鑰」加密,形成「數位信封」傳送給伺服器,伺服器可以使用自己的「私鑰」將「數位信封」解密取得「會議金鑰」。之後彼此雙方皆透過「會議金鑰」對傳輸的資料進行加/解密。
---------------------------------------------------------------
專有名詞