网络
文章平均质量分 90
天天向上_好好学习
这个作者很懒,什么都没留下…
展开
-
Linux网络协议源代码分析 之 入门
普通意义上的socket编程是基于GNU提供的库函数之上实现的,比创建一个socket时候调用的socket()函数就是在 sys/socket.h中定义的,此文件在Linux系统下的路径为: /usr/include/sys。 GNU提供的标准接口,可以用来创建socket,然后开始利用此socket通信。具体的接口如下所示:1. 创建套接字接口socket函数。函数原型为: i转载 2012-02-29 09:29:36 · 1296 阅读 · 0 评论 -
Linux TCP/IP 协议栈的关键数据结构Socket Buffer(sk_buff )
sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局General 通用Fe转载 2012-02-29 09:37:42 · 1191 阅读 · 0 评论 -
Linux网络协议源代码分析 之 系统调用
GNU是通过调用Linux的系统调用,进入内核空间,开始使用内核提供的代码来处理网络通信问题的。 正如本章开篇介绍的,编写套接字接口的头函数是GNU的标准头文件,而这些具体的函数是在glibc 的源代码中sysdeps/unix/sysv/linux/i386/socket.S 用汇编实现的,用来从用户空间进入名为socketcall的系统调用,并传递参数,下面是相关汇编代码:转载 2012-02-29 09:30:19 · 1279 阅读 · 0 评论 -
Linux网络协议源代码分析 之 主要数据结构体
Linux对网络的看法可以分为如下几层: 网络层: IP协议栈的实现,完成路由的查找过程(主要处理skb) Inet Socket层: 对IP包进行分组排序,实现QoS,传输层协议TCP/UDP协议栈的实现 使用sock{}类型数据来管理会话,数据主要放在sk_buff结构中转载 2012-02-29 09:28:50 · 1667 阅读 · 0 评论 -
Linux机制-锁-自旋锁
自旋锁和互斥锁有点类似,但是想象一种情况:线程要获取互斥锁,没有得到此锁,就进入睡眠状态,但是此锁的保持时间一般都非常的短,进入睡眠的线程立刻被唤醒。那么进入睡眠,再到被唤醒这个过程的代价就有点大了,此时最好的方法是不要让线程进入睡眠,而是不停的去查看锁是否释放,那么这种情况下就需要使用自旋锁,而不是互斥锁。 当情况不同,我们选择不同的锁。如果锁的保持时间一般很短,最好是使用自旋锁,这转载 2012-02-29 09:31:36 · 1719 阅读 · 0 评论 -
当两次NAT碰到FTP ALG
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://virtualadc.blog.51cto.com/3027116/755315 当两次NAT碰到FTP ALG (一) 相信大家都在出口相关项目中,碰到过FTP服务器访问的问题吧,其实FTP协转载 2012-03-26 15:26:18 · 3000 阅读 · 0 评论 -
FTP通信过程分析
原文地址:http://hi.baidu.com/thezenger/blog/item/f4c8b929edca1721d42af1b0.htmlFTP通信过程分析2010-04-01 15:57请看下面的一段FTP协议交互的例子:FTP服务器: 220 (vsFTPd 2.0.1)FTP客户端: USER usewayFTP服务器转载 2012-03-26 17:37:45 · 7417 阅读 · 0 评论 -
FTP穿越NAT
原文地中:http://hi.baidu.com/sprite72/blog/item/84da7ad39e1e9f2d32fa1c77.html最简单的NAT只需要修改IP头里面的IP地址,不过大多数的NAT还需要传输层里面的端口。而这里我们仅仅考虑后者。在这个时候,存在着一个问题,那就是如果应用层需要使用IP地址或者端口,该怎么办? 当然,这仅仅是一个假设,许多应用不会用到网络层以转载 2012-03-26 15:47:23 · 8655 阅读 · 0 评论 -
FTP ALG in Netfilter(Part 3 - 实例分析)
http://blogt.chinaunix.net/space.php?uid=23227798&do=blog&id=2485817转载 2012-03-26 16:25:47 · 1819 阅读 · 0 评论 -
浅谈FTP ALG
浅谈FTP ALG分类: 网络技术2009-03-09 17:50最近遇到了FTP的问题,牵扯到了ALG,在这里写一下,为了以后的学习参考.先来认识一下ALG的概念,It allows customized NAT traversal filters to be plugged into the gateway to support addr转载 2012-03-26 16:19:52 · 14058 阅读 · 1 评论 -
【转】ftp ALG 功能实现的概要说明
【转】ftp ALG 功能实现的概要说明 2009-09-16 10:21:56| 分类: LINUX|字号 订阅近阶段了解了一下ALG,有些体会做一个记录,以供以后查阅。ALG,Application Layer Gateway的缩写,这是一般网络设备或者主机都必备的一个小模块,那ALG是为了完成一个什么功能呢?这首先要从IPV4的地址转载 2012-03-26 14:44:01 · 1520 阅读 · 0 评论 -
SIP ALG穿透NAT的实现
原文地址:http://www.chinaaet.com/article/index.aspx?id=3655SIP ALG穿透NAT的实现沈 军1,周淑华2,张思发1 时间:2008年05月05日字 体: 大 中 小关键词:信令媒体流地址映射端口号内网 摘 要: 为解决SIP应用穿透NAT的问题,剖析了NAT的工作原理,并针对SIP协议信令过程的转载 2012-03-26 16:16:31 · 14791 阅读 · 0 评论 -
FTP采用主、被动传输模式时的通信过程及解决方案
原文地址:http://ewangsoft.blog.163.com/blog/static/7721558220108219013713/一、主动传输模式: 上图是使用标准FTP协议(明文传输)通信抓包截图。通信过程简单描述如下: 1、FTP客户端使用TCP随机端口2308主动连接FTP服务器的TCP 21端口,进行TCP三次握手转载 2012-03-26 16:45:54 · 3983 阅读 · 0 评论 -
浏览器与服务器通信的过程
浏览器与服务器通信的过程B/S(Browser/Server)结构就是浏览器/服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。本文将主要讲解浏览器和服务器通信的过程。转载 2012-06-21 13:52:51 · 1292 阅读 · 0 评论 -
regcomp®exec(转)re
2009-10-29 20:01一个正则表达式的教程可以参看(里面有个测试正则表达式的工具)http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm#ad正则表达是用来匹配字符串的好东东。如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生转载 2012-06-21 09:27:23 · 1259 阅读 · 0 评论 -
apache request_rec连接请求结构体
apache request_rec连接请求结构体2010年01月14日 星期四 下午 3:17request_rec对象在Apache接受连接请求的时候创建,并在处理完请求之后马上销毁。为了处理连接请求(在第5章和第6章中讨论),request_rec对象被传递给所有模块的处理例程句柄。request_rec对象拥有所有涉及处理该HTTP请求的内部数据,也包括 Apach转载 2012-08-17 13:09:35 · 3780 阅读 · 0 评论 -
Apache 中使用的 APR Memory Pool 分析
简介APR 中的Memory Pool是内存管理基础模块,所有其他的模块,只要用到的内存分配,都要用到这个模块,相关的结构中都有apr_pool_t参数pool本身并不直接从物理内存中分配或释放,而是通过allocator(内存分配器)来统一管理,可以为新池创建新的allocator(内存分配器),但通常使用默认的全局allocator(内存分配器),这样更有助于统一的内存管理pool转载 2012-08-17 09:43:07 · 1924 阅读 · 0 评论 -
lamp ubuntu
apt-get install openssh-server ,then modify the root password.apt-get install apache2apt-get install mysql-server mysql-client, input passwd in the insatlling process.apt-get install php5 libap原创 2012-08-16 10:01:48 · 790 阅读 · 0 评论 -
ache-2.4.x 编译安装方法
ache-2.4.x 编译安装方法发表于117 天前 ⁄ Apache ⁄ 评论数 1apache-2.2与新出的apache-2.4安装不同的地方在于,2.4版的已经不自带apr库,所以在安装apache-2.4之前,需要下载apr。1、下载软件cd /tmpwget http://mirrors.axint.net/apache//h转载 2012-09-18 11:35:22 · 764 阅读 · 0 评论 -
Linux下安装Apache 2.4
本文原创,欢迎转载。转载请在文章明显可见处张贴如下内容:(注意:请保留超链接格式)本文为Rainisic原创,欢迎转载,转载请在文章明显可见处张贴原帖信息:http://www.cnblogs.com/rainisic/archive/2012/05/23/Linux_Apache2_4_Install.html下载Apache 2.4及依赖包Apache官转载 2012-09-18 13:18:59 · 851 阅读 · 0 评论 -
error: Berkeley DB with 1.85 compatibility not found
网络攻击包--安装dsinff (2011-04-26 16:08) 分类: Network Security Install Problem:1.configure error:configure: error: Berkeley DB with 1.85 compatibility not foundsovle:install libdb4.2-dev,usin转载 2012-10-16 17:33:51 · 3406 阅读 · 0 评论 -
LIBEVENT事件驱动库(跨平台)介绍
LIBEVENT事件驱动库(跨平台)介绍 libevent 是一个强大的跨平台的事件通知库,如果不想被多线程困扰,可以考虑这个平台,它从1.2.* 版本开始支持轻量级的http server 开发支持,随后陆续还推出轻量级 DNS server、RPC server 开发支持,网络上目前可参考的代码不多,希望可以给网友提供一些帮助.LIBEVENT的功能: 这组事件API提供了一种转载 2012-10-17 10:52:17 · 2067 阅读 · 0 评论 -
libevent和libcurl的一些学习
libevent和libcurl的一些学习libcurl是一个用于传递数据的库;libevent则是提供服务器相应操作的库。网上关于libcurl的介绍很多,主要介绍了如何用它下载网页等功能,另外网上也有许多相关php代码的实例。libevent的相关资源比较少。一下是我实现的两个简单的小例子,一个利用libcurl发送数据,一个利用libevent去接收。libc转载 2012-10-17 10:40:15 · 1986 阅读 · 0 评论 -
libcurl,多线程,gzip,共享DNS
libcurl,多线程,gzip,共享DNSlibcurl,多线程,gzip,共享DNSlibcurl是一个不错的socket库,而且又是开源的。如果仅仅是简单的HTTP请求,那么只需要几行代码就能轻松实现。不过要用libcurl实现高效、高频率的HTTP请求就需要对libcurl有深入的了解才行。如果阅读英文无障碍的话,那么libcurl自带的示例程序和帮助文档就是最好的老师转载 2012-10-19 09:21:49 · 2652 阅读 · 1 评论 -
Linux C 编程实战--阅读笔记
http://wangyuxxx.iteye.com/blog/1557934 LinuxC编程实战--阅读笔记(原创)由 王宇 原创并发布 :第一篇Linux和C编程基础 (参考C相关书籍 ) 第1章Linux系统概述 第2章C编程基础、Vi和Emacs编辑器 2.1C程序的结构转载 2012-10-18 14:55:02 · 1513 阅读 · 0 评论 -
libxml -- 解析 XML 文档
http://jianlee.ylinux.org/Computer/C/libxml.htmllibxml -- 解析 XML 文档by Jian Lee参考XML介绍:XML 和 DOMlibxml介绍数据类型 — xmlChar数据结构创建 XML 文档解析 XML 文档修改 xml 文档Xpath — 处理大型 XML 文档libxml2转载 2012-10-19 11:37:11 · 1160 阅读 · 0 评论 -
Intel 1000 网卡进阶使用Linux版
http://supportapj.dell.com/support/edocs/network/IntelPRO/R231521/CS/e1000e.htmIntel 1000 网卡进阶使用Linux版时间:2010-02-23 12:18来源:Intel 官方网站 作者:starshift 点击:485次InterruptThrottleRate参数用来控制网卡每秒转载 2012-10-29 10:51:37 · 1728 阅读 · 0 评论 -
UNXIBENCH5
http://blog.sina.com.cn/s/blog_7695e9f40100yimf.html UNXIBENCH5一、 概述 UNIXBENCH也是linux、unix测试系统基准性能的经典工具,UNIXBENCH测试包含了系统调用、读写、进程、2D、3D、管道、运算、C库等系统基准性能,它的优点在于提供了对系统性能的一种转载 2012-10-29 10:59:24 · 1842 阅读 · 0 评论 -
intel igb 参数
http://www.intel.com/support/cn/mt/mt_win.htm转载 2012-10-29 13:35:18 · 2215 阅读 · 0 评论 -
netperf
netperf一、功能简介netperf是一款针对网络性能的测试工具,主要基于TCP或UDP的传输。根据应用的不同,可以进行批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式的性能测试。netperf以Client/Server方式工作。Server端是netserver,用来侦听来自client端的连接,Cl转载 2012-10-29 15:18:27 · 2375 阅读 · 0 评论 -
Redis几个认识误区
Redis几个认识误区时间:2011-11-24 发布者:admin 点击: 968 次摘要:前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failur转载 2012-10-19 15:13:39 · 717 阅读 · 0 评论 -
REDIS
REDISredis,一直在用,遇到不会的地方,也是先看文档,然后去google,没什么总结的。今天就来总结一下,仅仅是一些体会。1. redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets转载 2012-10-19 15:15:36 · 561 阅读 · 0 评论 -
libcurl教程
最近一段时间无事,等待入职。以前把libcurl的easy Interface 的那些函数用法手册翻译了,这次也把 libcurl-tutorial翻译一下,多有不足,请多指教。原文是网址是 :http://curl.haxx.se/libcurl/c/libcurl-tutorial.html之前也有人翻译过,我参考了很多,在这里表示感谢,链接是:http://blog.转载 2012-10-19 15:45:20 · 1295 阅读 · 0 评论 -
libcurl使用心得
libcurl使用心得Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用。http://curl.haxx.se/libcurl/从http://curl.haxx.se/l转载 2012-10-19 16:37:55 · 794 阅读 · 0 评论 -
INTEL 9502CX4 万兆网卡测试结果和注意事项
http://lixcxiongxiong.blog.163.com/blog/static/1157216852009922101946328/INTEL 9502CX4 万兆网卡测试结果和注意事项 2009-10-22 10:19:46| 分类:默认分类 | 标签:|字号大中小订阅 万兆网卡现在很多公司都在进行测试,进行技术储备或转载 2012-10-29 11:13:28 · 4624 阅读 · 0 评论 -
FIX: undefined symbol: apr_ldap_ssl_init
FIX: undefined symbol: apr_ldap_ssl_initPosted onApril 13, 2009 byWalt StoneburnerThis is a geek entry for resolving the problem:* Restarting web server apache2/usr/sbin/apache2: s转载 2012-10-30 09:15:12 · 2025 阅读 · 0 评论 -
libcurl应用:如何把下载内容写入内存
libcurl的文档中有getinmemory.c这个例子,把下载的网页写入自己定义的一个memorystruct中,看了这个例子的做法,它需要自己照顾内存的开辟,特别是需要在curl_easy_perform的调用函数中释放已开辟的内存,很不利于函数的封装,而且应用于multihandle的时候,运行时会出莫名其妙的assert错误。因此改写了一下,将下载的内容放入stl的string中,这样根转载 2012-10-19 16:38:48 · 1963 阅读 · 0 评论 -
ubuntu切换中文输入法
ubuntu切换中文输入法(2012-03-31 21:17:35)转载▼标签:杂谈分类:ubuntu前提是我的ubuntu系统已经安装了中文包,并且也在系统设置->语言支持那里,把中文拖到了第一位,可是还是不能Ctrl+空格,切换到中文输入法。为什么呢,因为如果安装时选的语言是英语,默认是不能切换中文输入法的,需要再设置转载 2012-10-30 13:47:14 · 6200 阅读 · 0 评论 -
ubuntu ssh登陆
本文章纯属(转载)进一阵突然开始想玩玩Ubuntu了 可是遇到了一个麻烦就是ssh登陆不上 用apt-get也无法安装!不过在网上找到了解决方案 试了一下真的可以了!!高兴就是一两部就可以解决!!!首先在服务器上安装ssh的服务器端。$ sudo aptitude install openssh-server感觉很妙! 有可能你的openssh-clent版本太高造成的!这样转载 2012-10-30 14:02:48 · 761 阅读 · 0 评论 -
Ubuntu中SSH命令详解
Ubuntu中SSH命令详解2011-09-09 09:50 佚名 博客转载 我要评论(0) 字号:T |TSSH(SecureShell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。AD:SSH(SecureS转载 2012-10-30 14:06:04 · 1628 阅读 · 0 评论