原始套接字

2021-10-04 04:37:10 字數 624 閱讀 1806

用於tcp通訊的流式套接字

用於udp通訊報式套接字

特點是:

我們傳送資料報只需要組應用層的資料報文,收到的資料報也只有應用層的資料

也就是說明,鏈路層,網路層,傳輸層的資料是由底層協議棧自動幫我們組的

如果想要自己從鏈路層,網路層,傳輸層到應用層組乙個資料報,這個時候需要使用原始套接字

原始套接字(sock_raw)

1、一種不同於sock_stream、sock_dgram的套接字,它實現於系統核心

2、可以接收本機網絡卡上所有的資料幀(資料報),對於監聽網路流量和分析網路資料很有作用

3、開發人員可傳送自己組裝的資料報到網路上

4、廣泛應用於高階網路程式設計

5、網路專家、黑客通常會用此來編寫奇特的網路程式

int socket(pf_packet, sock_raw, protocol)

功能:建立鏈路層的原始套接字

引數:protocol:指定可以接收或傳送的資料報型別

eth_p_ip:ipv4資料報

eth_p_arp:arp資料報

eth_p_all:任何協議型別的資料報

返回值:

成功(>0):鏈路層套接字

失敗(<0):出錯

原始套接字

資料出處 實際上,我們常用的網路程式設計都是在應用層的報文的收發操作,也就是大多數程式設計師接觸到的流式套接字 sock stream 和資料報式套接字 sock dgram 而這些資料報都是由系統提供的協議棧實現,使用者只需要填充應用層報文即可,由系統完成底層報文頭的填充並傳送。然而在某些情況下需...

原始套接字

參考1 原始套接字能幹什麼?參考2 原始套接字抓包實踐 參考3 各層頭結構 通過原始套接字,我們可以抓取所有傳送到本機的ip包 包括ip頭和tcp udp icmp包頭 也可以抓取所有本機收到的幀 包括資料鏈路層協議頭 普通的套接字無法處理icmp igmp等網路報文,而sock raw可以。利用原...

原始套接字

利用原始套接字實現乙個tcp syn flooding 程式 要求 客戶端不斷向攻擊端傳送syn連線請求 客戶端在傳送資料時,通過源位址隨機位址的方式隱藏自己的 位址 檢驗 在shell下通過 netstat tn 檢查syn recv連線數檢驗自己的程式是否成功 好像有點問題。不能偽造mac位址。...