原文:(十三)Packet socket 和 sockaddr_ll

描述 本文簡單描述了數據鏈路層的socket使用的兩種方法正文 Linux下有兩種方式接收數據鏈路層的數據包: 原始的方法,即創建一個類型為SOCK PACKET的socket,該方法很普遍,但是缺乏靈活性 最新的方法,引入了幀過濾功能和性能上的提升,即創建一個指定協議簇為 PF PACKET的socket,這需要root權限 類似於創建一個raw socket ,並且socket的第三個參數必須 ...

2016-11-24 13:34 1 6504 推薦指數:

查看詳情

socket編程——sockaddr_in結構體操作

sockaddr結構體 sockaddr的缺陷: struct sockaddr 是一個通用地址結構,這是為了統一地址結構的表示方法,統一接口函數,使不同的地址結構可以被bind() , connect() 等函數調用;sa_data把目標地址和端口信息混在 ...

Tue Jul 15 21:00:00 CST 2014 0 12139
sockaddrsockaddr_in詳解

struct sockaddr 和 struct sockaddr_in 這兩個結構體用來處理網絡通信的地址。 一、sockaddr sockaddr在頭文件#include <sys/socket.h>中定義,sockaddr的缺陷是:sa_data把目標地址和端口信息混在 ...

Tue Mar 10 06:41:00 CST 2020 0 1624
sockaddr_in和sockaddr_in6

背景:在muduo庫中,InetAddress類是一個包含socket地址的數據類型,包括這個ip地址和端口號。 在里面有一個表示socket地址的union。 當時覺得這個很奇怪,因為這個東西僅僅就是定義了一種數據類型,並沒有定義一個對應的變量,這個怎么用呢? 經查證 這是 ...

Mon Sep 28 23:37:00 CST 2020 0 1292
sockaddrsockaddr_in的區別

struct sockaddr和struct sockaddr_in這兩個結構體用來處理網絡通信的地址。 在各種系統調用或者函數中,只要和網絡地址打交道,就得用到這兩個結構體。 網絡中的地址包含3個方面的屬性: 1 地址類型: ipv4還是ipv6 2 ip地址 ...

Fri Nov 22 07:46:00 CST 2019 0 958
sockaddrsockaddr_in的區別

struct sockaddr和struct sockaddr_in這兩個結構體用來處理網絡通信的地址。 在各種系統調用或者函數中,只要和網絡地址打交道,就得用到這兩個結構體。 網絡中的地址包含3個方面的屬性: 1 地址類型: ipv4還是ipv6 2 ip地址 3 端口 相應 ...

Sat May 02 06:43:00 CST 2015 1 8076
linux RAW SOCKETPacket af定制2層報文

前幾天做了一個feature,使用raw socket加AF_PACKET。選擇了一部分,修改了下,變成一個簡單的例子,分享出來。用這個只要你能接入網絡,你想發什么就發什么,別干壞事就好:-)。AF_PACKET和AF_INET區別就是一個可以脫光到2層,一個只能到3層。直接把代碼貼出來,希望 ...

Mon Jan 07 19:29:00 CST 2013 0 3805
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM