![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux应用开发
文章平均质量分 69
Quagger
这个作者很懒,什么都没留下…
展开
-
移植hostapd,搭建无线热点
1、从官网上下载hostapd,编译之前先在hostapd目录下执行cp defconfig .config,配置文件默认只支持nl80211的驱动(CONFIG_DRIVER_NL80211=y)。makemake install3、新建/etc/hostapd/hostapd.conf interface=wlan0#interface=wlan0dri转载 2013-11-15 10:42:05 · 11407 阅读 · 0 评论 -
用户空间和内核空间通讯之【Netlink 中】
今天我们来动手演练一下Netlink的用法,看看它到底是如何实现用户-内核空间的数据通信的。我们依旧是在2.6.21的内核环境下进行开发。 在文件里包含了Netlink协议簇已经定义好的一些预定义协议:点击(此处)折叠或打开#define NETLINK_ROUTE 0 /* Routing/device hook转载 2014-04-17 09:50:35 · 1313 阅读 · 0 评论 -
用户空间和内核空间通讯之【Netlink 上】
分类: LINUX引言 Alan Cox在内核1.3版本的开发阶段最先引入了Netlink,刚开始时Netlink是以字符驱动接口的方式提供内核与用户空间的双向数据通信;随后,在2.1内核开发过程中,Alexey Kuznetsov将Netlink改写成一个更加灵活、且易于扩展的基于消息通信接口,并将其应用到高级路由子系统的基础框架里。自那时起,Netlink就成了转载 2014-04-17 09:47:14 · 3109 阅读 · 2 评论 -
用户空间和内核空间通讯之【Netlink 下】
关于Netlink多播机制的用法 在上一篇博文中我们所遇到的情况都是用户空间作为消息进程的发起者,Netlink还支持内核作为消息的发送方的情况。这一般用于内核主动向用户空间报告一些内核状态,例如我们在用户空间看到的USB的热插拔事件的通告就是这样的应用。 先说一下我们的目标,内核线程每个一秒钟往一个多播组里发送一条消息,然后用户空间所以加入了该组的进程都会收到这转载 2014-04-17 10:02:03 · 1312 阅读 · 1 评论 -
QOS技术及配置实例
QOS概述 随着 Internet 的飞速发展,人们对于在 Internet 上传输多媒体流的需求越来越大,一般说来,用户对不同的多媒体应用有着不同的服务质量要求,这就要求网络应能根据用户的要求分配和调度资源,因此,传统所采用的“尽力而为”转发机制,已经不能满足用户的要求。QOS 应运而生。 QOS(Quality of Service,服务质量)是用来评估服务方满足客户需求的能力。转载 2014-05-22 10:38:16 · 17902 阅读 · 0 评论 -
Linux双网卡搭建NAT服务器
Linux双网卡搭建NAT服务器来源: ChinaUnix博客 日期: 2010.01.04 12:22 (共有条评论) 我要评论 v\:* {behavior:url(#default#VML);}o\:* {behavior:url(#default#VML);}w\:* {behavior:url(#def转载 2014-05-23 14:55:22 · 2463 阅读 · 0 评论 -
Linux双网卡的配置 使用iptables配置NAT
本文介绍如何在linux系统上使用iptables建立NAT, 我们可以把它做为一个网关, 从而局域网的多台机器可以使用一个公开的ip地址连接外网. 我使用的方法是重写通过NAT系统IP包的源地址和目标地址.准备:CPU: PII或更高系统: 任何Linux版本软件: Iptables网卡: 2块想法:用你的广域网IP替换xx.xx.xx.xx用你的局域网IP替换y转载 2014-05-23 14:29:18 · 9898 阅读 · 1 评论 -
使用dnsmasq作为dns服务器
配置vi /etc/dnsmasq.conf默认配置下,dnsmasq使用系统的/etc/resolv.conf并读取/etc/hosts,在配置里可以更改或者关闭,现在是修改了这两个,其它的按默认:resolv-file=/etc/dnsmasq.resolv.conflisten-addn-hosts=/etc/dnsmasq.hosts(dnsmasq还支原创 2014-05-27 14:31:15 · 21453 阅读 · 0 评论 -
好用的链表操作库。
好用的C链表操作库原创 2014-08-25 16:24:31 · 1575 阅读 · 2 评论 -
Linux内核【链表】整理笔记(1)
我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。当然,Linux也是从2.1.x内核开始才对链表进行了这样的统一,和我们目前看到的样子几乎差不多:点击(此处)折叠或打开struct li转载 2014-10-31 15:48:17 · 602 阅读 · 0 评论 -
应用开发博客收集
http://www.cnblogs.com/shenliang123/p/3838273.html 亮仔的博客 JAVA EE原创 2014-07-16 09:56:35 · 451 阅读 · 0 评论 -
用户空间和内核空间通讯之【系统调用】
现在,越来越多的应用程序需要编写内核和用户级代码的程序来一起协作完成具体的任务,而用户与空间和内核空间的通讯也就是一个不可回避的话题了。针对于需要和内核空间通信的具体应用而言,其开发模式和套路相对来说比较固定,主要概括起来有两大步骤:第一步,编写内核服务程序利用内核空间提供的权限和服务来接收、缓存和处理数据;第二步,编写用户程序来和先前的内核服务程序进行交互。具体来说,可以利用用户程序来配转载 2014-04-17 10:05:14 · 1700 阅读 · 0 评论 -
有线 + hostapd 802.1X 认证
1 . 编译 hostapd 支持 802.1X 有线认证 cp defconfi .config vim .config 修改为以下形式: CONFIG_DRIVER_HOSTAP= y CONFIG_DRIVER_WIRED=y转载 2014-03-15 09:19:13 · 1620 阅读 · 0 评论 -
基于quagga开源包的嵌入式CLI开发
做嵌入式开发的筒子们大部分会遇到CLI开发的问题。如何开发一个用户友好又高端大气上档次的CLI往往让我们头疼不已。 因为工作的原因,有幸接触到quagga这个开源包。虽然它是一个路由协议包,但是其中的CLI实现很值得我们学习。闲话不多说先发一张图。 是不是很像CICSO的风格。 下面开始制作我们自己的CLI吧:(以下操作环境均为ubuntu10.04)原创 2013-11-05 10:23:58 · 5173 阅读 · 1 评论 -
嵌入式linux下的web和telnet访问控制的实现思路
功能需求: 实现web和telnet的访问IP配置,不在可访问列表中的请求报文全部丢弃。 实现方式: 1.维护一个IP控制表。 2.在web-server和telnetd里判断ip地址是否存在于IP控制表中。弊端:需要在web-server和utelnetd里对该表做同步,修改量大,效率低。原创 2013-11-05 09:59:10 · 1941 阅读 · 0 评论 -
linux下安装sendEmail
sendEmail 是一个邮件代理传输程序,当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务器,这是通过DNS服务实现的。例如一封邮件的目标地址是yangql@163.com,那么sendmail首先确定这个地址是用户名(yangql)+机器名(163.com)的格式,然后,通过查询DNS来确定需要把信件投递给某个服务器。 工作时遇到要定时转载 2013-11-22 16:22:41 · 5259 阅读 · 0 评论 -
sendEmail发送带有附件的邮件
需求: 从数据库获取数据并保存为CSV的文件,并把数据文件通过sendEmail以附件的形式发送到指定邮箱。 这里主要利用sendEmail的: -m 邮件内容 -a 邮件附件 这两个参数来完成此工作。shell 脚本:#!/bin/sh#function: get data from database and keep them in c转载 2013-11-22 16:23:41 · 4148 阅读 · 0 评论 -
linux TCP通信简单示例
主机端#include #include #include #include #include #include #include #include #include #define portnumber 3333int main(int argc,char *argv[]){ int sockfd,new_fd;原创 2013-11-13 14:59:37 · 916 阅读 · 0 评论 -
linux网络 收包过程
NAPI驱动流程:中断发生–>确定中断原因是数据接收完毕(中断原因也可能是发送完毕,DMA完毕,甚至是中断通道上的其他设备中断)–>通过netif_rx_schedule将驱动自己的napi结构加入softnet_data的poll_list链表,禁用网卡中断,并发出软中断–>中断返回时触发软中断net_rx_action,从softnet_data的poll_list上取下刚挂入转载 2013-11-13 15:02:09 · 1761 阅读 · 0 评论 -
Linux 下打开core功能
1. 终端下执行ulimit -c 查看core文件大小限制 ,一般操作系统默认为0。 2. 执行ulimit -c 1024把core文件大小限制在1k, 也可以直接执行ulimit -c unlimited 设置为无限制。 3. 设置core文件保存路径。 vi 打开/etc/sysctl.conf 文件, 加入kernel.core_pattern = /tmp/cor原创 2013-11-27 17:04:29 · 12257 阅读 · 0 评论 -
linux 中多级项目的编译之makefile实现(一)
在构建项目树时, 经常会遇到多级项目的编译问题。linux下的编译基本是由makefile来控制的,这里把我的makefile模板贡献出来。我的项目代码结构如下root/ -apps/ -net-snmp/ -boa/ -libs/ ...原创 2013-11-13 16:20:01 · 1922 阅读 · 0 评论 -
linux 套接字通信的几个结构体 struct sockaddr_in, struct sockaddr, struct in_addr
一、结构体 struct sockaddr_in, struct sockaddr, struct in_addrstruct sockaddr_in, struct sockaddr,struct in_addr,这是网络编程中常用的结构体,每次都记不住它们各自的成员是啥,需要临时查,为方便以后的查看,在这里总结下。struct sockaddr {unsigned s原创 2013-11-13 15:00:39 · 2459 阅读 · 0 评论 -
CLOSE_WAIT1 CLOSE_WAIT状态的生成原因[转]
CLOSE_WAIT状态的生成原因首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:Server —> FIN —> ClientServer 这时候Server端处于FIN_WAIT_2状态;而我们的转载 2013-11-13 15:02:52 · 881 阅读 · 0 评论 -
(原创) linux 下给多人发送邮件源码(SMTP协议)
直接贴代码吧~~~~1. mail.c/////////////////////////////////mail.c:#include "mail.h"#include "base64.h"#include #include #include #include #include #include #include #include #include static原创 2013-11-26 16:29:49 · 17289 阅读 · 0 评论 -
Linux Netfilter 功能
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-04-12 15:37:06 · 2242 阅读 · 0 评论