第1章 簡介
1.1 OSI模型
1. 應用層;
2. 表示層;
3. 會話層:前3層統稱應用層,即用戶進程,後4層運行在內核中;
4. 傳輸層:TCP、UDP,可以繞過(原始套接字)。
5. 網絡層:IPv4、IPv6;
6. 數據鏈路層;
7. 物理層:最後2層由設備驅動和硬件提供。
繞過傳輸層直接使用IP協議就是所謂的原始套接字。
1.2 TCP記錄的長度
TCP是一個沒有記錄邊界的字節流協議,如果數據量很大,就不能確保一次read能返回服務器的整個應答,因此從TCP套接字讀取數據時,總是需要把read編寫在某個循環中,當read返回0或負值時終止。如果應用程序需要確定記錄的邊界,它就要自己去實現。
SMTP是通過\r\n來標記結束的,DNS是在記錄的前面放置一個二進制的計數值來給出記錄的長度。
1.3 netstat和ifconfig
netstat -ni:-i提供網絡接口的信息,-n輸出數值地址。
netstat -r:展示路由表。
ifconfig:獲得每個接口的詳細信息。
ping:找出本地網絡中主機的IP地址。