志宇-计算机网络
計算機網絡
第一章:計算機網絡概述
第二章:物理層
第三章:數據鏈路層
第四章:網絡層
第五章:傳輸層
第六章:應用層
第七章:網絡安全
第八章:Internet上的音頻視
第九章:無線網絡
osi模型
1)物理層
功能:
通過物理設備將數據進行傳送,將基帶信號轉換成帶通信號傳輸;
物理層設備:
集線器,共享帶寬,可以擴展100米距離;
發送報文:
Arrival Time: 捕獲日期和時間
Time delta from previous captured frame: 此包與前一包時間間隔
Time since reference or first frame: 此包與第一個幀的時間間隔
Frame Number: 幀序號
Frame Length: 幀長度
Capture Length: 捕獲幀長度
Frame is marked: False 此幀是否做了標記:否
Coloring Rule Name: TCP 用不同顏色的染色標記的協議名稱:TCP
2)數據鏈路層
功能:
基于mac地址進行跳轉
1.封裝成針:
拼接mac地址等數據
2.透明傳輸:
使用轉義字符達到透明傳輸
差錯校驗:crc循環冗余校驗
數據鏈路層設備
交換機:有網橋功能,它可以記錄mac地址,第一次交互通過廣播交互本網段所有計算機后記錄mac地址,再次交互不用發送廣播直接交互目標mac地址的計算機。
發送報文:
Destination:目標mac地址
Source:原目標地址
類型:協議類型
數據:網絡層拼接獲得
FCS提供了一種錯誤檢測機制,用來驗證幀在傳輸過程中的完整性
3)網絡層
功能:
在不同網絡中基于ip傳輸數據包
分片:傳輸層包支持65535個字節,網絡層只支持1500個字節,所以要在網絡層將包分片發送的數據每個包只最多為1480個字節,將數據分成指定大小的包
淚滴攻擊:利用分片重組漏洞來來攻擊,發送損壞的數據包
網絡層設備:
路由器
路由跳轉:
1.靜態路由
規定好了路由跳轉地址,其中有一路由器壞了就不能用了
需要在路由器中配置路由表
配置路由表:ip route 目標地址ip 子網掩碼 下一跳ip地址
查看路由
2.動態路由
會選擇好的,能通的路徑進行傳輸數據
網絡層協議:
arp協議:
第一次傳輸數據前發送廣播通過ip來解析出mac地址(廣播只能在一個網段中發送)
查看本網段ip和mac地址對應關系命令 arp -a
設置ip和mac地址綁定命令 arp -s ip地址 mac地址
arp欺騙
可以達到本網段中任意兩臺計算機是否能通訊 (緩存的mac地址錯誤)
可以控制本網段任意計算機是否可以上網(目標機器的網關ip地址錯誤則上不了網)
可以將本網段任意兩臺計算機交互數據截獲
(a發送給b數據,c給a設置b的mac地址為c的,c收到數據再修改mac地址發給a)
可以使用網絡執法官來進行欺騙,被欺騙后每次開機都要執行一次綁定原mac地址才能防止欺騙
ip
子網掩碼
用來劃分子網
A類網絡缺省子網掩碼:255.0.0.0 192.xx.xx.xx 在同一網段
B類網絡缺省子網掩碼:255.255.0.0 192.168.xx.xx在同一網段
C類網絡缺省子網掩碼:255.255.255.0 192.168.1.xx 在同一網段
特殊的幾個地址
本地地址 127.0.0.1
保留的私網地址 169.254.0.0 10.0.0.0,172.16.0.0–172.31.0.0,192.168.0.0–192.168.255.0
icmp
主要體現在ping命令的使用
ping /?
ping ip –t 持續ping 看是否網絡不穩定導致丟包
ping ip -l 200 發送大小為200的包
ping ip -i 2 設置經過的最高的路由器個數
(使用這個命令會看到哪個路由器拒絕你的傳輸,間接得到路徑中的每個路由器)
ttl 代表 每經過一個路由器ttl會減1
ttl系統值,可以通過ttl值粗約判斷系統,不準確Linux64 window 128 unix255
pathping ip 命令 可以看到跳轉情況和丟包情況
可以按順序看到路由轉發丟包率 鏈路中丟包(線上)
tracert ip 看到跳轉中的網關
igmp 協議
組播 多播
rip協議 通過跳轉路有個數選擇路由跳轉路經
ospf協議 通過帶寬選擇路由跳轉路徑
發送報文:
固定部分占20個字節
版本 (4位,值為4為ip4,值為6為ip6)
首部長度(4位 ip數據包的首部長度)
區分服務(1個字節 是否是優先傳輸)
總長度(2個字節 ip包的大小,最大為2的16次方-1)
標識(2個字節,相同的數據報片的標識相同)
標志 (3位,表示是一個完整的數據包還是一個數據包片)
片偏移 (13位,表示這個數據包片在整個數據包的位置)
生存時間(ttl 每次經過一個路由器都會減一)
協議 (協議號 icmp1 igmp2 tcp6 udp17 )
首部檢驗和 (校驗規則)
原地址 ip (32位)
目標地址 ip (32位)
可變部分:用來填充頭部信息
網絡排錯
查看那里網速堵塞了,可以通過ping命令看網絡延時
網通代表網絡層通,如果不能瀏覽網頁可能是dns問題
當交換機中連接了多臺電腦,有一臺不停發廣播怎么知道是哪臺計算機
使用抓包工具,隨便ping一個電腦然后抓包,當ping時網絡不通時看當時的包是誰發的
4)傳輸層
功能:
為應用提供邏輯通訊
使用場景
tcp 用于可靠傳輸,要建立會話,消耗資源,文件分段傳輸(分成包),流量控制
qq傳輸文件
udp 大多用于一個包的傳輸或不在乎接收者是否接收到,不用建立會話
例如 qq發送消息,如果一秒后沒有收到回復就再發送一次
dns域名解析
廣播 屏幕控制等
3 查看當前計算機會話狀態
netstat –n
協議:
udp
udp在傳輸層給數據包添加了udp頭部,共八個字節,詳細信息如下
原端口(2字節) 目標端口 (2字節)長度 (2字節)校驗和(2字節)
長度:udp頭部占8個字節+ 傳輸數據字節數
校驗和:用到網絡層拼裝數據和udp頭部數據和發送數據用二進制反碼求和得出
tcp
特點
只能點對點傳輸,面向字節流,全雙工通信
tcp 傳輸數據階段
1.建立回話
三次握手
a——->b
a<——b
a——>b
(用來確認發送大小,如果沒有第三次握手 當網絡延時發送兩次第一次握手,b會認為是要再創建一次會話)
2.傳輸數據
在不可靠網絡上實現可靠傳輸
超時重傳(超過固定時間再次發送),確認丟包(再次發送)
每發一次包時間都計算 超時重傳時間=(1–1/8)舊的往返時間+1/8新的往返時間
信道利用率=發送時間/發送時間+數據包往返時間+接收包確認時間
確認時間可以忽略,所以采用連續發送數據包來提高信道利用率
流量監控(通過規定發送緩存中的發送窗口和接收緩存的接收窗口)
網絡擁塞(使用慢開始算法)隨著流量增加總速度達到最高點不下降
第一次傳輸速度從1到16之間是翻倍增長,之后累加增長
直到網絡擁塞后,當前值除2得到x,傳輸速度值恢復為1
第二次從1到x是翻倍增長,之后累加增長
直到網絡擁塞后,當前值除2得到x,傳輸速度值恢復為1
3.關閉連接
四次揮手
a——->b
a<——b 發送收到通知
b給a發送沒有發送完的數據
a<——b 發送傳輸完成。fin值為1
a——>b 回復接收到了確認關閉,b收到消息立刻關閉,a等待超過超時重傳時間后關閉
3 tcp報文段首部格式(一般固定為20個字節)
原端口 (2字節)
目標端口(2字節)
序號(四個字節,本包中數據的第一個字節是整個要傳輸文件的第多少個字節)
確認號(四個字節,告訴發送者下次從多少個字節開始發)
數據偏移()
urg (用于優先傳輸的標志位)比如結束傳輸,就要優先傳輸
ack (當值為1時確認號有效,當創建會話時ack為0)
psh (當值為1時發送的包要優先顯示)
rst (當值為1時代表連接錯誤,要重新建立會話)比如中斷正在加載的網頁
syn (當建立會話時syn等于1,其他時為0)
fin (當傳輸完成時發送的包為1)
窗口(4個字節,發送緩存字節數,接收緩存字節數)
tcp攻擊
syn攻擊 又稱洪水攻擊 通過創建大量的虛假地址,發起syn為1的創建tcp會話的連接
land攻擊 讓被攻擊機器自己發起tcp連接來連接自己
5)會話層,表現層,應用層
ftp 協議
1 使用ftp要使用兩個tcp連接 1個用來連接 1個用來傳輸數據
2 ftp服務器負責設置端口的開放
客戶端負責設置主動模式還是被動模式
3 客戶端連接ftp服務器分為主動模式和被動模式 默認使用被動模式
主動模式 使用21端口進行連接 自己僅使用20端口用來傳輸數據
需要ftp服務器20和21端口開放
這種方法利于ftp服務器,不利于客戶端(客戶端20端口可能被占用)
被動模式 使用21端口進行連接 自己使用一個新的端口傳輸數據(多次傳輸使用不同端口)
需要ftp服務器打開防火墻(需要開放端口)
這種方法ftp需要開啟一定范圍內的端口
4 使用主動模式連接ftp服務器只開啟20和21端口即可
使用被動模式連接ftp服務器需要開啟21端口和一定范圍內的端口
dhcp協議
1 通過mac地址來獲得ip地址
2 一臺計算機要接入局域網中,就要將網段設置相同 同時ip不能重復
3 設置地址分為兩種
靜態設置地址
一般網段不變,電腦不移動,一般自己手動設置地址
比如 數據庫ip,dhcp服務器,(在機器斷電重啟后不會分配新的地址)
動態分配地址(dhcp)
通過dhcp服務器會分配ip地址,
每臺機器多長時間不使用某個ip地址,這個ip地址會分配另給一個電腦(時間可以設置)
4 dhcp服務器必須要設置成靜態設置ip地址(路由器可以充當dhcp服務器)
5命令使用
ipconfig /all 可以查看當前使用的dhcp服務器地址 和ip生效時間
ipconfig /release 清空當前分配的ip
ipconfig /renew 分配一個ip地址
6 客戶端windows 上有一個dhcp服務要開啟,不然不會分配ip地址
7 一個dhcp服務器可以為局域網中不同網段的計算機分配地址,但是要為
不同網段中有要分配ip地址電腦的路由器 中設置 dhcp服務器的地址
8 dhcp 協議通過廣播交互,不能越過本網段傳輸,在本網段路由器路由不到dhcp服務器
在路由器上設置
ip iphelper-adress dhcp的IP地址(即可找到不同網段的dhcp服務器)
dns協議
1 將域名解析成IP地址(域名要唯一 防止網站重名)
2 多個域名可以對應一個服務器(一個服務器上部署了多個網站)
多個服務器可以對應一個域名(負載均衡,但是解析完會有記憶功能)
3 域名 www.love.lizhiyu.com
com 頂級域名
lizhiyu 二級域名
love 三級域名
4 域名解析過程
首先去本地文件中尋找域名所對應的IP地址 C:\Windows\System32\drivers\etc下的hosts文件
然后上局域網中配置的dns服務器中找對應ip
然后上網絡中的dns服務器尋找(在網絡中獲得ip后會緩存到局域網中的dns服務器中)
222.222.222.222
8. 8. 8. 8
5 查看域名解析地址所用的服務器
nslookup 可以看到dns解析服務器地址,然后再輸入域名可以看到對應的ip地址
telnet 遠程終端協議
telnet命令有兩個作用
一 測試端口通不通 telnet ip 端口
二 telnet可以遠程控制對方電腦
telnet ip 然后輸入用戶名和密碼 即可控制對方電腦
被控制電腦需要開啟23端口 和telnet服務器服務
控制電腦需要開啟telnet客戶端服務
使用telnet 命令創建用戶然后將用戶添加到管理員組 然后使用用戶登陸
就可以不被用戶察覺的操作它的電腦了(他打開用戶管理器會看到進程)
rdp 遠程桌面協議 使用tcp 和3389端口
被操作電腦看不到你的操作(如果對方是單用戶操作系統你會把他擠下去 單用戶操作系統只能有一個人操作例如 xp)
多用戶操作系統允許做多兩個人同時遠程登陸一臺電腦 (window server)
網絡安全
代理服務器
1 如果我想訪問一個外國網站
經過路由跳轉 路由器發現要訪問外國的這個網站,會進行攔截
那么可以訪問外國的代理服務器,不會攔截(相當于跳過了防火墻)
然后外國的代理服務器再幫我訪問我想要上的網站
2 如果想要做一些不好的事
也可以通過先訪問代理服務器再去訪問目標網站(這樣追蹤不易)
即使你的ip會改變 adsl 電信也會查到地址
3 代理服務器有緩存功能 節省帶寬
4 使用代理服務器訪問網站 在同網段中不用配置dns 和 網關也能上網
5 如果一個公司只有一臺電腦能上網
可以將這臺能上網的電腦安裝設成代理服務器
這樣公司所有的電腦都能通過這臺電腦上網了
計算機面臨四種威脅
截獲 截獲發送的數據
中斷 中斷數據傳輸
篡改 修改訪問數據
偽造 傳輸偽造數據
1)截獲
可以使用cain軟件來截獲用戶的登錄名和密碼
通過arp 欺騙來實現手段,首先要和目標計算機處在同一個網段,
獲取mac地址時 將黑客電腦欺騙成網關mac地址 發送的數據都會經過網關
2)篡改
可以使用cain軟件來篡改dns的域名解析,使其跳轉到你想要讓它去的網站
比如釣魚網站 和 真實網站一樣
3)偽造
一個網站只有固定ip可以訪問,可以當固定ip的電腦關機時進行修改ip然后訪問
4)中斷(dos 拒絕訪問)ddos 使用一臺計算機控制了多臺計算機去攻擊
例如在本網段中使用arp欺騙設置本網段中那些計算機能通信
例如phpddos軟件可以掃描出使用php做出來的網站進行掃描,然后讓其對指定機器發送大量數據包
惡意程序
1 計算機病毒 修改內部程序 ,只能重做系統 例如熊貓燒香
2 計算機蠕蟲 使計算機內存增高,然后死機
3 特洛伊木馬 肉雞安裝木馬程序后被控制。 例如 灰鴿子軟件
(木馬需要黑客電腦和肉雞交互,黑客電腦需要開啟防火墻,因需端口和肉雞交互)
4 邏輯炸彈 在指定時間進行某些操作
加密
對稱加密
兩臺計算機使用同一個私鑰進行加密
(可以通過加密算法和秘鑰,使用普遍加密算法即可,安全程度取決于秘鑰)
缺點:相互交流使用的秘鑰量大,同時秘鑰不建議網上傳輸 用光盤copy走路傳遞
優點:效率高
數據加密標準des
非對稱加密
使用公鑰加密,私鑰解密,公鑰不能通過計算得到私鑰,公鑰可以隨便給
b c d 使用相同公鑰加密,a使用秘鑰解密
缺點:時間慢
可以對稱加密 和 非對稱加密聯合使用
對稱加密 秘鑰a
非對稱加密 秘鑰 b 公鑰c
發送方(加密方) 使用c加密a獲得d,使用a加密發送數據獲得加密數據
接收方 (解密方) 接收到了d和加密后的數據,使用b對d解密獲得a,通過a對加密數據進行解密
數字簽名
防止抵賴 防止信息被修改
1 場景一
發送端
發送數據方將發送信息通過散列函數得到文件指紋(一個128位的數 也可以稱為摘要),
通過私鑰對文件指紋加密,得到加密后的摘要
發送明文(原始內容),公鑰,加密后的摘要
接收端
使用公鑰 解密加密后的摘要得到摘要
將明文通過散列函數得到摘要(文件指紋)
對比摘要
場景
數據不怕別人知道,但是注重文件內容是否被修改 注重是否是真正的發送方
2 場景二
由于公鑰是由發送端發送的,接收端怕被欺騙,引入了證書頒發機構ca
使用時要保證和ca的網絡暢通
3 https 443
在ca上認證
證書 對外部可見,接收者使用它和公鑰在ca上驗證發送者,證書時效
私鑰 用來加密
公鑰 用來解密,會發送給接收者,接收者用來解密
4 ssl 安全套接層
https的安全基礎是ssl,它用于應用層和傳輸層之間加密
總結
- 上一篇: 智能手机的ESD测试
- 下一篇: 依赖倒置和控制反转