raw socket的簡單介紹

2021-07-24 23:50:28 字數 841 閱讀 9544

一.raw socket介紹:

1、raw socket中文叫原始套接字,它和其他的套接字的不同之處在於它工作在

網路層或資料鏈路層

,而其他型別的套接字工作在傳輸層,只能進行傳輸層資料操作。

二.raw socket有多種建立方法

1. sock_fd = socket(af_inet, sock_raw, type)

af_inet:抓網路層的ip資料報。

type:表示ip資料報上層所使用的協議。例如:(對應於ip資料報首部協議字段)

type=

ipproto_icmp: 抓取icmp包(網路層協議,封裝在ip資料報上)。

type=ipproto_tcp: 抓取tcp包。

type==ipproto_udp: 抓取udp包。

2.sock_fd = socket(pf_packet, sock_raw, htons(x) )

pf_packte: 抓取資料鏈路層的mac幀。

x:常用的取值有:eth_p_ip 、eth_p_arp 、eth_p_rarp。(對應於mac幀首部型別字段)

eth_p_ip 0x0800 只接收發往本機mac的ip型別的資料幀

eth_p_arp 0x0806 只接受發往本機mac的arp型別的資料幀

eth_p_rarp 0x08035 只接受發往本機mac的rarp型別的資料幀

eth_p_all 0x3 接收發往本機mac的所有型別ip arp rarp的資料幀, 接收從本機發出的所有型別的資料幀.(混雜           模式開啟的情況下,會接收到非發往本地mac的資料幀)

mysql的簡單介紹 mysql的簡單介紹

mysql的簡單介紹 資料庫的內部鏈結 1 連線管理器 使用者或應用程式連線 2 分析器 3 快取區4 優化器 優化器執行的結果交由儲存引擎,再轉向物理層 表空間 myisam每個表有三個檔案 frm 表結構 myd 表資料 myi 表索引 innodb 所有表空間再乙個檔案 資料庫失敗的原因 1 ...

簡單的 介紹 樹形DP介紹

給定一棵有n個節點的樹 通常是無根樹,也就是有n 1條無向邊 我們可以任選乙個節點為根節點,從而定義出每個節點的深度和每棵子樹的根。在樹上設計動態規劃演算法時,一般就以節點從深到淺 子樹從小到大 的順序作為dp的 階段 dp的狀態表示中,第一維通常是節點編號 代表以該節點為根的子樹 大多數時候,我們...

ORACLE SEQUENCE的簡單介紹

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...