linux-基础
家有工程师
了解的越多就发现自己越无知,路走得越远就发现自己越渺小;博观而约取,厚积而薄发,低调做事,平和为人
展开
-
linux 下 nf_conntrack_tuple 跟踪记录
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-05-20 21:57:26 · 6664 阅读 · 0 评论 -
portal 第三方工具:nodogsplash 使用分析
1:nodogsplash运行在运行nodogsplash之后,系统会创建一下四个线程:Gateway.c (z:\wlan\portal\nodogsplash-0.9_beta9.9\src): result = pthread_create(&tid_fw_counter, NULL, (void *)thread_client_timeout_check, NULL);原创 2013-11-23 15:21:14 · 17851 阅读 · 4 评论 -
vitesse:74xx交换机VLAN配置及测试
1:系统及软件版本System>ConfigurationSystem Contact : System Name : System Location : MAC Address : 00-01-c1-00-00-00Chip ID : VSC7460System Time : 1970-01-01T00:45:15+00:00原创 2013-09-16 14:40:17 · 3354 阅读 · 1 评论 -
UNIX Domain Socket IPC (sockaddr_un )
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个翻译 2013-11-22 14:22:54 · 1773 阅读 · 0 评论 -
pppoe调试信息
---------------------------------------------* The following section contains information about your systemThu Jan 1 00:02:21 UTC 1970Output of uname -aLinux (none) 2.6.31--LSDK-9.2.0_U10.102原创 2013-03-05 19:23:30 · 7420 阅读 · 3 评论 -
ucos:ucos 应用编程大全
1:说明主要对ucos中的task创建,消息队列,消息邮箱,信号量,互斥量的使用进行了举例说明。2:示例代码原创 2013-09-12 18:20:26 · 3300 阅读 · 0 评论 -
单臂路由实现三层路由数据包转发及数据包格式分析
在7242+8328的板子上面,WAN口:port3,LAN口:port2,port4eth0上面的ip地址动态获取,用作外部WAN上网的接口,与此通信的数据包不加VLAN头。eth0.2 :用作内部LAN接口.IP地址固定,数据包进过LAN时自动添加或者去掉VLAN头。WAN和LAN之间是不通的。说明:192.168.100.244为WAN口所接PC IP.192.168.1原创 2013-09-12 18:00:18 · 5674 阅读 · 1 评论 -
linux 下VLAN数据包格式及vconfig命令测试
主要是对VLAN的数据包格式进行了抓包分析。同时对vconfig命令的适用进行了说明。PC:10.10.107.168 AP:10.10.107.231(eth0.100)1:添加VLAN,使用vconfig。~# vconfigBusyBoxv1.10.3 (2012-09-23 02:13:20 CST) multi-call binaryUsage:vconfi原创 2012-11-25 10:11:39 · 25331 阅读 · 2 评论 -
linux应用编程:socket 常用API总结
1:代码#include #include #include #include #include #include #include #include #include #include#include#include//extern int h_errno;char interfaceIpAddr[50];int get_interface_ipAddr(char原创 2013-08-06 22:35:23 · 2293 阅读 · 0 评论 -
sock5 UDP代理通信及dante-1.4.0
1:测试场景测试使用的是双网卡的设备即有eth0和eth1,分别配置不同网段的IP地址,使用的代理软件为:dante-1.4.0。其中客服端的IP地址为:192.168.100.20 服务器端的IP地址为:10.10.98.2客服端发送UDP数据包到服务端,proxy完成对UDP数据的转发。2:测试结果首先在proxy上面对eth0和eth1端口进原创 2014-02-14 14:04:44 · 6918 阅读 · 0 评论 -
hostapd 调试信息
下面的信息中有很多有用的信息,值得看看。oot@OpenWrt:/etc# hostapd /etc/hostapd-phy1.conf -dd &root@OpenWrt:/etc# Configuration file: /etc/hostapd-phy1.confnl80211: Supported cipher 00-0f-ac:1nl80211: Supported ci原创 2015-05-08 18:27:28 · 14875 阅读 · 1 评论 -
Netlink实现热拔插监控
新的Linux内核使用udev代替了hotplug作为热拔插管理,虽然有udevd管理热拔插,但有时候我们还是需要在应用程序中检测热拔插事件以便快速地处理,比如在读写SD卡的时候拔下SD卡,那么需要立即检测出该情况,然后结束读写线程,防止VFS崩溃。Netlink是面向数据包的服务,为内核与用户层搭建了一个高速通道,是udev实现的基础。该工作方式是异步的,用户空间程序不必使用轮询等技术来检测热拔转载 2015-05-12 18:27:50 · 4777 阅读 · 0 评论 -
oenwrt 中的调试文件系统
1:oenwrt中调试文件系统的创建在使用之前必须对文件系统进行挂载,Debugfs没有物理设备,其挂载方式:mount -t debugfs none /sys/kernel/debug在openwrt的系统启动的文件中有如下代码会挂载debugfs其创建过程中设计到的API如下:struct dentry *debugfs_create_u8(c原创 2015-03-07 13:05:31 · 2069 阅读 · 0 评论 -
基于openwrt的自动OQS配置脚本
1:说明此处的自动de原创 2014-10-12 13:57:11 · 4289 阅读 · 1 评论 -
Netfilter components 相关的比较好的流程图
原创 2014-08-30 16:35:07 · 1766 阅读 · 0 评论 -
cgic206库example应用程序测试
1:个人理解此处的CGI程序主要是处理用户的表单请求,表单tij原创 2014-08-20 20:30:19 · 1365 阅读 · 0 评论 -
大小端模式详解
端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big End转载 2014-07-22 09:20:33 · 1746 阅读 · 0 评论 -
postgresql-9.1.9编译及简单CGI访问数据库
1:编译linux直接执行以下命令:./configure --prefix=/work/postgresql-9.1.9/binpost 当进行交叉编译的时如下:我的编译是有些问题直接跳过了下面俩个包的检测./configure --host=arm-none-linux-gnueabi --prefix=/work/postgresql-9.1.9/binpost -原创 2014-04-08 20:35:10 · 6667 阅读 · 0 评论 -
http相关的知识
0:前提最近工作中要对客户端的http请求的地址需要更改,期初只是知道http是一个应用层的以client和server为模式的数据交互协议,但是一个http数据包的格式是什么样子,不知道。所以自己的就把数据包的格式打印了出来。来看看长啥样子:我在浏览器中数据的是:203.195.192.51/check_client?store_id=1&access_token=a1b1c1当此请求经原创 2014-03-20 19:52:10 · 1423 阅读 · 0 评论 -
PostgreSQL服务启动时报错:“FATAL: could not create lock file "/tmp/.s.PGSQL.5432.lock": Permission denied”
一:环境 服务器操作系统(OS):linux Red Hat Enterprise Linux AS release 4 (Nahant Update 6)二:发现问题 1234[postgres@localhost ~]#su - postgres [postgres@loca转载 2014-04-16 17:31:01 · 27440 阅读 · 0 评论 -
linux应用编程:signal(信号量) 实例1
1:示例代码#include#include#include#include#include#include#include#include //the copy fie size must>Mint count=0; //current copy numberint file_size; //the file sizepid_t pid;void sig_a原创 2013-07-29 22:53:45 · 1293 阅读 · 0 评论 -
linux 进程间通信--systemV 消息队列 实例
1:消息接收端#include#include#include#include#include #include#include#include#include #include #define MAX_TEXT 512struct my_msg_st{ int my_msg_type; char msg_text[MAX_TEXT];};#define MSG原创 2013-07-29 22:17:52 · 1376 阅读 · 0 评论 -
linux应用编程:thread总结
1:线程与进程的区别2:线程同步:互斥锁3:线程同步:条件变量4:线程同步:post信号量在代码中有实例。5:线程退出6:线程示例代码/* ============================================================================ Name : thr原创 2013-07-31 22:29:11 · 2253 阅读 · 0 评论 -
linux 下getsockopt()和setsockopt()分析
1:在linux socket编译成中,我们经常使用如下类似的命令: #include /* See NOTES */ #include int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen);原创 2013-05-20 22:04:03 · 2710 阅读 · 0 评论 -
iptables 中的NAT使用总结
首先对SNAT DNAT进行概念介绍:SNAT:源地址转换目标地址不变,重新改写源地址,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机目前大多都是解决内网用户用同一个公网地址上网的情况DNAT:目标地址转换和SNAT相反,源地址不变,重新修改目标地址,在本机建立NAT表项,当数据返回时,根据NAT原创 2013-05-15 17:37:58 · 15725 阅读 · 0 评论 -
根据IP地址获取对应的MAC地址
#include #include #include #include #include #include int main(int argc, char *argv[]){ struct sockaddr_in sin = { 0 }; struct arpreq myarp = { { 0 } }; int sockfd; unsigne原创 2013-01-08 21:32:53 · 5102 阅读 · 0 评论 -
linux TC命令使用总结
brctl addbr br0brctl addif br0 eth1ifconfig br0 192.168.119.7ifconfig eth0 10.10.106.230echo 1 > /proc/sys/net/ipv4/ip_forward 在实际的项目中,由于需要控制下载和上传的带宽,为特定的用户提供可靠的带宽保证。上传时使用的是WAN口即用来连接外网的,在我原创 2012-12-28 21:26:31 · 24540 阅读 · 1 评论 -
ebtables的使用
http://blog.163.com/dyc_888@126/blog/static/10044335120111255249503/http://blog.chinaunix.net/uid-10694051-id-2935976.html一:ebtables简介ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具。既然称之为配置工具,就是说过滤功能翻译 2012-12-06 16:29:34 · 14412 阅读 · 0 评论 -
tasklet和work_struct机制
Tasklet机制一、tasklet使用Tasklet的使用比较简单,只需要定义tasklet及其处理函数并将两者关联例子:Void my_tasklet_func(unsigned long)DECLARE_TASKLET(my_tasklet.my_tasklet_func,data)代码DECLARE_TASKLET实现了定义名称为my_tasklet的tas转载 2012-08-22 22:51:22 · 3884 阅读 · 0 评论 -
tasklet网络分析汇总
Chapter 1:驱动程序在初始化时,通过函数task_init建立一个tasklet,然后调用函数tasklet_schedule将这个tasklet放在 tasklet_vec链表的头部,并唤醒后台线程ksoftirqd。当后台线程ksoftirqd运行调用__do_softirq时,会执行在中断向量表softirq_vec里中断号TASKLET_SOFTIRQ对应的tasklet_转载 2012-08-22 23:01:33 · 1387 阅读 · 0 评论 -
基于mips内核的Atheros芯片--wlan中的VAP的创建
重要是使用命令创建,可以通过无线网卡和手机登陆的无线网络标识。登陆名称就是ssid号。1:/etc/rc.d/rc.wlan up //这个文件主要用来加载wlan相应的驱动程序。2:配置ip地址,针对br0。ifconfig br0 10.10.99.194 up 3:创建基本的VAP/etc/rc.d/rc.wlan upwlanconfig ath0 creat原创 2012-06-19 20:37:54 · 8908 阅读 · 0 评论 -
linux 2.6中的initrd是什么东西?
http://blog.csdn.net/faithsws/article/details/5378209 可以看看什么是initrd不懂,所以到网上找了些资料,现在来看看,自己动手做做试验,看看结果能更加深入的了解。主要参考的是这个网址1.什么是 Initrdinitrd 的英文含义是 boot loader initialized RAM disk,就是由翻译 2012-03-15 20:09:11 · 1994 阅读 · 1 评论 -
linux下组播收发程序
服务器端代码:#include #include #include #include #include #include #include #include #include #include #include #define MCAST_PORT 31241#define LOCAL_PORT 56171#define MCAST_ADDR "224.1.2原创 2013-06-13 22:20:11 · 4406 阅读 · 0 评论 -
组播路由pimd 2.1.8
最近工作中涉及到了组播,对基本的概念,同时在linux下面对发送和接受组播的UDP程序进行验证。主要涉及到组播数据包的路由,linux内核中普通的路由协议是不支持组播数据包的转发,因此需要研究支持组播数据包转发的路由。因此选用了pimd 2.1.8。同时研究组播时需要设计到IGMP协议,是跟组播路由器通信的协议,主要是用来报告自己加入的组播组和响应组播路由器的查询结果。其实现可以在linux内原创 2013-01-23 21:37:29 · 15218 阅读 · 4 评论 -
总结的常用shell脚本命令,以备后用。
#!/bin/sh#for exm to test# ./check.sh 12 36 25 12 453 1 2 3 RETVAL=0SRRVER_START=1SRRVER_STOP=2DNS_STATUS=1dnsCheck(){ while test "x`pidof dnsmasq`" != x ; do ec原创 2013-07-13 21:00:56 · 4360 阅读 · 0 评论 -
linux 进程间通信--systemV 共享内存 实例
1:共享内存代码#include #include /* Type definitions used by many programs */#include /* Standard I/O functions */#include /* Prototypes of commonly used library functions,原创 2013-07-29 22:40:52 · 1069 阅读 · 0 评论 -
linux 进程间通信--systemV 信号量 实例
1:代码#include #include #include #include #include #include #define MAX_SEMAPHORES 3union semun{ int val; /* value for SETVAL */ struct semid_ds *buf;原创 2013-07-29 22:25:48 · 1227 阅读 · 0 评论 -
linux thread 同步 操作 实例
1:linux thread 介绍如果需要只终止某个线程而不终止整个进程,可以有三种方法:从线程函数return。这种方法对主线程不适用,从main函数return相当于调用exit。一个线程可以调用pthread_cancel终止同一进程中的另一个线程。线程可以调用pthread_exit终止自己。#include void pthread_exit(void *value_ptr)原创 2013-07-04 22:44:04 · 2504 阅读 · 0 评论 -
I2C总线原理及应用实例
I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安转载 2013-07-20 10:06:03 · 2497 阅读 · 0 评论 -
linux udp socket编程实例
1:udp通信框图2:udp server端代码#if 1#include "./../../udp_client/src/iolib/iolib.h" /* 添加用户自已的I/O函数库 */#define MAX_LINE 100//extern int checkSelect(int handfd,char *rwflag);void my_fun(char * p)原创 2013-07-18 21:58:10 · 6080 阅读 · 0 评论