一、ioctl函数 我们可以把网络有关的请求分为6类: 套接口操作 文件操作 接口操作 ARP高速缓存操作 路由表操作 流系统(第33章) 二、套接口操作 SIOCATMARK如果套接口的读指针当前在带外标志上,则通过第三个参数指向的整数返回一个i额非零值,否则返回零。 SIGCGPRGRP通过第三 ...
分类:
其他好文 时间:
2018-03-14 14:56:56
阅读次数:
190
首先讲下字符设备控制技术 : 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...)fd: 要控制的设备文件描述符cmd: 发送 ...
分类:
系统相关 时间:
2018-03-07 23:58:27
阅读次数:
394
自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“hello world”程序例子)在本文中,我们将用同样的方式学习如何编写一个简单的linux内核模块和设备驱动程序。我将学习到如何在内核模式下以三种 ...
分类:
系统相关 时间:
2018-03-03 23:26:33
阅读次数:
276
在编写ioctl代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非串行设备输入流修改波特率,如果每一个ioctl命令都是唯一的,应用程序进行这种操作时就会得到一个EI ...
分类:
其他好文 时间:
2018-02-27 21:32:02
阅读次数:
182
帧缓冲设备的file_operations中的成员函数都在fbmem.c中实现,一般不需要驱动工程师修改。这里主要分析它的write、mmap和ioctl方法。 帧缓冲设备的mmap()操作函数比较重要,因为多数情况下访问帧缓冲设备不是通过其读写方法,而是通过mmap()系统调用将帧缓冲映射到用户空 ...
分类:
其他好文 时间:
2018-02-01 17:40:57
阅读次数:
330
一、struct ifreq结构体 这个结构定义在/usr/include/net/if.h,用来配置和获取ip地址,掩码,MTU等接口信息的。 [cpp] view plain copy /* Interface request structure used for socket ioctl's. ...
分类:
其他好文 时间:
2018-01-28 15:34:14
阅读次数:
188
import sys, os import socket, struct, fcntl import six import psutil def get_ip(iface="enp0s3"): sock = socket.socket(socket.AF_INET, socket.SOCK_STRE ...
分类:
其他好文 时间:
2018-01-24 12:29:31
阅读次数:
164
转自:http://pirogue.org/2017/07/25/reverse-shell/ 一、跟踪系统调用 1. strace bash test.sh 2. strace -c bash test.sh 二、audit监控分析 1. audit相关资料 A Brief Introductio ...
分类:
系统相关 时间:
2018-01-13 22:18:22
阅读次数:
340
参考: https://www.cnblogs.com/super119/archive/2012/12/03/2799967.html https://lwn.net/Articles/119652/ http://b8807053.pixnet.net/blog/post/3610561-ioc ...
分类:
其他好文 时间:
2017-12-25 22:12:53
阅读次数:
130
Chapter4 文件IO 4.1 概述 文件描述符 == Windows的句柄 标准文件描述符: 0 标准输入 STDIN_FILENO stdin 1 标准输出 STDOUT_FILENO stdout 2 标准错误 STDERR_FILENO stderr (1):fd = open(path ...
分类:
系统相关 时间:
2017-12-17 00:07:17
阅读次数:
267