網絡駭客入門之網絡編程(一):網絡應知應會
一、計算機網絡在設計之初就決定了它結構簡單,傳輸可靠的特點,除此之外,它還能連接不同種類的計算機
在網絡上,各個節點同等重要且必須有冗余路由
二、網絡在理論上被分為七層,從下到上,物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層
在實際的應用上分為四層,即:鏈路層,網絡層,傳輸層,應用層
鏈路層:設備之間(如網卡,交換機)數據幀的傳輸
鏈路層就是保證設備之間能互聯互通
網絡層:主機之間(如路由器)數據包的傳輸
網絡層就是保證每個數據包能夠到達目的主機,常用協議如IP網際協議,ICMP網際控制報文協議,IGMP網際組管理協議等
傳輸層:不同主機上進程之間的數據傳輸
通過socket套接字進行網絡上不同主機的進程間通信,常用協議如TCP(傳輸控制)協議,UDP(用戶數據報)協議
應用層:應用程序間(QQ,微信)通信
應用程序之間通過端口實現數據傳輸,協議如FTP文件傳輸協議,TFTP簡單文本傳輸協議,Telnet遠程登入,HTTP超文本傳輸協議
三、TCP協議--一個工作在傳輸層,面向連接的網絡通信協議
它為不同主機上的進程間通信提供服務,通常下載文件,視頻,發郵件都是用TCP協議
特點:
1.面向連接,每一次通信都有建立-使用-釋放連接的過程
2.安全可靠但是效率略低
3.目的主機必須回復確認,否則數據包會重傳(DOS/DDOS攻擊的理論基礎)
4.數據包的順序和內容保持一致
5.完善的錯誤檢查和重傳機制
6.每一個數據包都包含序號和確認序號
7.不支持廣播和多播
四、UDP協議--一個工作在傳輸層,面向無連接的網絡通信協議
它和TCP一起為不同主機上的進程間通信提供服務,通常在線看視頻(RTP流媒體服務),ARP廣播,DHCP,NTP,DNS用的都是UDP協議
特點:
1.面向無連接,每一次通信都不建立連接
2.相對不可靠但是效率高
3.不檢查數據包的順序
4.沒有完善的錯誤檢查和重傳機制
5.每一個數據包都包含序號和確認序號
6.支持廣播和多播
五、IP地址分類
A:0.0.0.1~126.255.255.254 共有2的24次方減2個IP地址
第一位為0, 127.x.x.x也屬於A類地址但是被用於本地回環
B:128.0.0.1~191.255.255.254 共有2的16次方減2個IP地址
前兩位為10
C:192.0.0.1~223.255.255.254 共有2的8次方減2個IP地址
前三位為110
D:224.0.0.1~239.255.255.254 多播地址
前四位為1110
E:保留地址
六、端口與端口號(傳輸層標識)
端口可以形象地理解為電腦的窗戶,電腦程序就是通過端口互相通信的
TCP/IP協議采用端口標識通信的進程,區分一個系統裏的多個進程
每一個運行的網絡程序都有一個進程號(PID)和至少一個端口號(Port)
因為進程號是系統隨機分配的,並且不能用來收發數據,所以用端口號標識網絡進程
端口號為無符號短整型數(0~65535)0號端口不能使用,1~1023為已知端口,一些基礎應用程序如FTP-21,HTTP-80,TFTP-69,XSHELL-22等已經占用了
TCP和UDP維護各自獨立的端口號,它們都有65536個端口
七、字節序
指多字節(兩個字節以上)數據的存儲順序,分為小端格式和大端格式
小端格式將低字節數據存儲在低地址,大端格式將低字節數據存儲在高地址
通常個人電腦的字節序都是小端格式,但是在網絡上通信的字節序為大端格式
所以異構計算機之間通信要把自己的字節序轉換為網絡字節序
網絡駭客入門之網絡編程(一):網絡應知應會