Socket与系统调用深度分析 可以想象的是,当应用程序调用socket()接口,请求操作系统提供服务时,必然会系统调用,内核根据发起系统调用时传递的系统调用号,判断要执行的程序,若为socket对应的编号,则执行socket对应的中断服务程序。服务程序内部,又根据你要请求的不同服务,来执行不同服务 ...
分类:
其他好文 时间:
2019-12-15 13:01:45
阅读次数:
120
/** * @send_arp.c * @This software is intended to be used as a example to show how to send and receive arp request with Linux * PF_PACKET interface * ...
分类:
系统相关 时间:
2017-12-13 02:13:48
阅读次数:
260
Linux 套接字的用户接口. 这个 BSD 兼容套接字是介于用户进程与内核网络协议栈之间的统一接口, 各协议模块属于不同的 协议族 ,如 PF_INET, PF_IPX, PF_PACKET 和 套接字类型 ,如 字节流(SOCK_STREAM) 或 数据报(SOCK_DGRAM). 关于协议族和 ...
分类:
其他好文 时间:
2016-12-02 02:58:35
阅读次数:
313
本文介绍使用PF_PACKET和SOCK_RAW发送自己定义type以太网数据包,使用wireshare抓包能够获取到数据包,为Linux内核添加网络协议做铺垫。先上码:#include #include #include // close()#include // strc...
分类:
其他好文 时间:
2015-12-21 18:10:40
阅读次数:
235
前面讲到了libpcap 捕获数据包,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包, 实验环境搭配流程如下:1)下载PF_R....
分类:
系统相关 时间:
2015-08-09 01:42:11
阅读次数:
326
1. Raw Socket基础
提供了一种方法来绕过整个网络堆栈遍历和直接将以太网帧输送到一个应用程序。
有很多种方法来创建raw sockets,例如AF_PACKET,PF_PACKET。这里使用PF_PACKET,它是linux系统上才有的选项,如果是windows或者是mac的系统的话,可以使用AF_PACKET。
1.1 PF_SOCKET
在链路层接收和发送包得应用接口。
所...
分类:
编程语言 时间:
2015-05-04 18:09:36
阅读次数:
247
本文介绍使用PF_PACKET和SOCK_RAW发送自定义type以太网数据包,使用wireshare抓包可以获取到数据包,为Linux内核增加网络协议做铺垫。
先上码:
#include
#include
#include // close()
#include // strcpy, memset(), and memcpy()
#in...
分类:
其他好文 时间:
2014-06-24 15:51:07
阅读次数:
556