unix网络编程
文章平均质量分 77
林伟
怪人一个!
展开
-
Linux内核网络栈代码的准备知识详述
1. Linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tc原创 2010-01-15 15:47:00 · 758 阅读 · 0 评论 -
NETDEVICE get
NAMEnetdevice - 底层访问 Linux 网络设备.总览 (SYNOPSIS)#include sys/ioctl.h> #include net/if.h>描述 (DESCRIPTION)本手册 描述 用于 配置 网络设备 的 套接字(socket) 接口.Linux 支持 一些 配置 网络设备 的 标准 ioctl. 他们 用于 任意的 套接原创 2010-04-01 15:27:00 · 2156 阅读 · 0 评论 -
Fetch hardware address with ioctl
使用SIOCSIFHWADDR设置MAC要使用ARPHRD_ETHER,且要先停用网络接口。#include stdio.h>#include string.h>#include unistd.h>#include sys/types.h>#include sys/socket.h>#include stdlib.h>#include sys/ioctl.h>#includ原创 2010-04-02 09:48:00 · 1517 阅读 · 0 评论 -
两种方法获取网卡地址
1.AF_INET方法获取 #include #include #include #include #include #include #include #include #define MAXINTERFACES 16 int main(argc, argv) register int argc; register char *argv[]; { regist原创 2010-04-01 15:30:00 · 1057 阅读 · 0 评论 -
ppp拨号脚本配置(zz)
ppp拨号脚本配置摘要 本文主要介绍了嵌入式Linux系统下使用pppd 2.4.4来进行PPP拨号需要使用的脚本是如何配置的,配置项的含义,同时也说明了如何来配置参数,实现ppp拨号上网。一.问题提出 嵌入式Linux操作系统下,如果要进行PPP连接,就需要配置拨号要使用的连接脚本。这些脚本参数就决定了PPPD的行为原创 2010-04-02 23:18:00 · 5262 阅读 · 1 评论 -
netperf 与网络性能测量
汤凯 (tangk73@hotmail.com), 2004 年 7 月 01 日本文首先介绍网络性能测量的一些基本概念和方法,然后结合 netperf 工具的使用,具体的讨论如何测试不同情况下的网络性能。在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多,或者即使考虑到性能的问题,但是却发现没有合适的手段去测试网络的性能。转载 2010-04-08 14:48:00 · 1424 阅读 · 0 评论 -
RTP 与 RTCP 协议
实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是 RTP 可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。 RTP 本身并没有提供按时发送机制原创 2010-05-12 14:55:00 · 1405 阅读 · 0 评论 -
RTSP协议
RTSP协议 RTSP(Real Time Stream Protocol,实时流协议)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。数据 源包括现插数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道如UDP、多播UDP与TCP等提供途径,并为选择基于RTP 上发送机制提供方法。一.简介1.原创 2010-05-12 14:53:00 · 3011 阅读 · 0 评论 -
实时传输协议详解
实时传输协议RTP1.RTP协议:RTP( Real-time Transport Protocol)协议最初是在70年代为了尝试传输声音文件,把包分成几部分用来传输语音,时间标志和队列号。经过一系列发展,RTP第一版本在 1991年8月由美国的一个实验室发布了。到本世纪1996年形成了标准的的版本。很多著名的公司如Netscape ,就宣称“Netscape LiveMedia”是基于RTP协议原创 2010-05-12 14:55:00 · 1234 阅读 · 0 评论 -
RTSP协议分析
Network Working Group H. SchulzrinneRequest for Comments: 2326 Columbia U.Category: Standards Track A. RaoNetscapeR. LanphierRealNetworksApril 1998翻译: radium 2005.1实时流协议(RTSP) ( Real Time Streaming Pr转载 2010-05-12 14:57:00 · 2450 阅读 · 0 评论 -
ARM平台上蓝牙协议栈Bluez的移植使用和配置
Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广泛的应用。在桌面环境下,使用Bluez应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平台上,搭建和配置Bluez的各个Profile运行所需做的工作,讨论可能遇到的问题,介绍一些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析不一定准确,欢迎联系指正。 1 相关说明原创 2010-05-28 17:45:00 · 2788 阅读 · 0 评论 -
linux2.6内核ppp分析
1 简介ppp协议(点到点协议),在拨号网络中应用比较广泛,逐渐在替代slip协议。ppp数据包格式为:| 协议码 | 载荷 |填充符ppp主要有四类协议码: 1 0x0001 - 0x3fff 网络层协议(ipv4,ipv6,ipx,appletalk) 2 0x4001 - 0x7fff 无网络层协议参与的小载荷量传输(低整流量) 3 0x800原创 2010-04-12 21:06:00 · 5524 阅读 · 0 评论 -
Ubuntu上架设PPPoE Server
一。安裝 PPPoE Server Software1)sudo apt-get install ppp2)rp-pppoe(非apt套件)wget -c http://www.roaringpenguin.com/files/download/rp-pppoe-3.10.tar.gzsudo tar zxvf rp-pppoe-3.6.tar.gz -C /opt/sudo chown -R原创 2010-04-13 15:30:00 · 11717 阅读 · 1 评论 -
Libpcap开发集介绍
Libpcap开发集介绍libpcap是一个C语言库,libpcap的英文意思是 Packet Capture library,即数据包捕获函数库,其功能是通过网卡抓取网络以太网中的数据包。这个库为不同的平台提供了一致的c函数编程接口,在安装了 libpcap 的平台上,以 libpcap 为接口写的程序、应用,能够自由地跨平台使用。它支持多种操作系统。libpcap 结构简单,使用方便;原创 2010-01-15 16:11:00 · 1439 阅读 · 0 评论 -
Linux下Libpcap源码分析和包过滤机制
libpcap是unix/Linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。libpcap可以在绝大多数类unix平台下工作,本文分析了libpcap在Linux 下的源代码实现,其中重点是Linux的底层包捕获机制和过滤器设置方式,同时也简要的讨论了 libpcap使用的包过滤机制 BPF。网络监控绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以原创 2010-01-15 16:14:00 · 1308 阅读 · 0 评论 -
setsockopt 设置socket 详细用法
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); 2. 如果要已经处于连接状态的soket在调用closesocke原创 2010-03-10 09:56:00 · 1237 阅读 · 0 评论 -
Linux socket 编程中存在的五个隐患
前言: Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是 开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。 相关文档:《linux socket 编程》 在 4.2 BSD UNIX® 操作系统中原创 2010-03-23 14:42:00 · 867 阅读 · 0 评论 -
netlink socket编程之why & how
作者: Kevin Kaichuan He@2005-1-5 翻译整理:duanjigang @2008-9-15duanjigang1983@126.com>原文: http://www.linuxjournal.com/article/7356 开发和维护内核是一件很繁杂的工作,因此,只有那些最重要或者与系统性能息息相关的代码才将其安排在内核中。其它程序,比如GUI,管理以及控制部分的转载 2010-01-15 15:45:00 · 919 阅读 · 0 评论 -
浅析u盘等热插拔uevent事件用户空间截获方法和具体实现
#include stdio.h>#include string.h>#include sys/types.h>#include unistd.h>#include stdlib.h>#include sys/socket.h>#include linux/netlink.h>#define UE原创 2010-01-15 15:53:00 · 1799 阅读 · 0 评论 -
Linux内核的ioctl函数学习nework
一般的说,,用户空间的IOCTL系统调用如下所示: ioctl(int fd, int command, (char *) argstruct)因为这个调用拥有与网络相关的代码,所以文件描述符号fd就是socket()系统调用所返回的,而command参数可以是/usr/include/linux/sockios.h头文件中的任何一个,这些个命令根据它可以解决的问题所涉及的方面被分为多种原创 2010-03-31 09:03:00 · 1458 阅读 · 0 评论 -
网络控制
引言 文件描述符是低层的输入和输出接口。描述符可以表示到设备、管道或套接字的连接,这些连接用于与另一个进程或普通文件进行通信。I/O 控制 (ioctl) 函数调用可以用来对特殊文件的基础设备参数进行操作。它们可以完成与打开的文件描述符相关联的控制功能。这些命令涉及文件、流、普通数据链路控制以及其他各种设备。 本文将讨论 AIX Version 5.3 中提供的与网原创 2010-03-31 09:12:00 · 1226 阅读 · 0 评论 -
UNIX网络编程 -- 第十六章 ioctl操作
第十六章 ioctl操作 传统上ioctl函数是用于那些普遍使用,但不适合归入其他类别的任何特性的系统接口。Posix去掉了ioctl,它通过创建特殊的其功能已被Posix标准化的包裹函数来代替ioctl。这一章介绍和网络编程有关的ioctl操作。 1. ioctl函数 int ioctl(int d, int request, ...); 和网络有关的i原创 2010-03-31 09:15:00 · 1286 阅读 · 0 评论 -
Linux PPP 数据收发流程
PPP (Point-to-Point)提供了一种标准的方法在点对点的连接上传输多种协议数据包,它最常见的用途可能是传统的拨号上网了(据说现在的宽带接入 也有采用PPPOE方式的)。在Linux Mobile Phone上,网络应用程序使用PPP作为与GSM模组之间的通信协议,最近遇到了一点关于PPP的麻烦,所以花了点时间去研究它。PPP 协议肯定不是最复杂的网络协议,不过pppd、cha原创 2010-04-12 21:03:00 · 3902 阅读 · 0 评论 -
移植rp-pppoe到s3c2440(QQ2440v3)实现ADSL拨号上网
一:总的来说可以分四点1:arm linux 内核支持ppp2: install ppp-2.4.4 (rp-pppoe要ppp的支持才能正常运行)。3: install rp-pppoe。4:把步骤(2)(3)中生成的相应文件下载到目标板,根据相应提示适当修改就行了。二:需要的包移植需要rp-pppoe和ppp。我用的是rp-pppoe3.10和ppp-2.4.4原创 2010-04-13 13:59:00 · 10654 阅读 · 3 评论 -
断点续传的原理
<br />ftp断点续传的原理 <br />客户端的实现步骤如下: <br /><br />一、下载: <br />1、向服务器发送“REST + 本地文件长度”命令,告诉服务器,客户端要断点下载了。这时服务器还不知道客户端要下载哪个文件; <br />2、向服务器发送“RETR + 文件名”命令,通知服务器要下载的文件名,这时服务器开始定位文件指针读文件并发送数据。 <br />3、客户端定位本地文件指针(文件末尾); <br />4、两端的准备工作都做完了以后,客户端创建socket,以被动或非被动方原创 2010-12-07 13:58:00 · 5245 阅读 · 0 评论