随笔分类 - 网络编程
摘要:1、单线程/阻塞/同步模型适用范围:单一连接缺点:多连接时相互影响,一个阻塞,别的也得不到响应2、多进程/阻塞/同步模型适用范围:连接数较少,且使用的资源较多,比如文件操作缺点:系统进程数有上限,不适用大量并发连接,且进程间切换开销较大3、多线程/阻塞/同步模型适用范围:连接数较少,且使用系统资源不多,可多个线程共享缺点:系统线程数有上限,不适用大量并发连接,且线程间的需要保护4、单线程/非阻塞/同步模型特征:强行逐个连接轮询处理,没有探测适用范围:连接数较少缺点:需要处理数据的拼接,且凭空占用资源,CPU高5、select事件驱动模型(单线程/阻塞/同步模型/先探测后处理/挂起式阻塞)特征:
阅读全文
摘要:RFC:0.0.0.0/8 - Addresses in this block refer to source hosts on "this"network. Address 0.0.0.0/32 may be used as a source address for thishost on this network; other addresses within 0.0.0.0/8 may be used torefer to specified hosts on this network ([RFC1122], Section 3.2.1.3).因此,根据RFC文档描述
阅读全文
摘要:如何读懂路由表 源码:-------------------------------------------------------------------------------- Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.88 1 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.68 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
阅读全文
摘要:重要提示:做为一名开发人员,整天和网络打交道,学习一些网络的基础知识,有益于提升个人专业技能。另外本文仅介绍网络知识,和番墙无关,请圣上明查,下面为正文内容。五一快来了:原来是打算发布 CYQ.Data 的V5版本或者写爱说说的相关技术文章,后来想了想,也不和大伙纠结专业技术性问题。今天就把一篇封存多年的草稿文章给写完了,和大伙说点不太技术的事情。如果你有两个网卡,一个本地网卡一个无线网卡,两个都拔号上网了,那你知道你上网是通过哪个网卡上的不?如果你有一个本网卡,又拔了VPN到服务器,两个都拔号上网了,那你又知道你上网是通过哪个网卡的不?不知道,往下看,下面内容涉及到路由表及网关,为您实例讲解
阅读全文
摘要:第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有
阅读全文
摘要:可以在windows下,运行 cmd.输入:ping -f -l 1472 172.20.223.74 如果可以ping通的话,就表示这个1472大小的包不用折包.则表示,主机172.20.223.74支持最大的包大小为:1500(1472+28)标准以太网帧就是 1518 字节,除去 14 字节以太网头和 4 字节 CRC 校验是 1500,正好是 MTU 值
阅读全文
摘要:网络参数设置命令 所有时刻如果你想要做好自己的网络参数设置,包括IP参数、路由参数和无线网络等,就得要了解下面这些相关的命令才行。其中Route及ip这两条命令是比较重要的。当然,比较早期的用法,我们都是使用ifconfig的。? ifconfig:查询、设置网卡和IP网段等相关参数。? ifup、ifdown:这两个文件是Script,通过更简单的方式来启动网络接口。 ? Route:查询、设置路由表(Route table)。? ip:复合式的命令,能直接修改上述命令提到的功能。ifconfig、ifup、ifdown这3个命令的用途都是启动网络接口,不过,ifup和ifdown仅就 /e
阅读全文
摘要:这个MAC对照表资源是从wireshark源码中获取的。每块网卡都有一个MAC地址,MAC地址是一个6字节、也即48bit的数据。前3字节称为OUI,是由IEEE组织注册给网络设备生产商的;每个厂商拥有一个或多个OUI,彼此不同。后三字节则是由网络设备生产商分配给自己生产的每一个拥有MAC地址的设备,互不重复。原理就是根据MAC地址前3字节来判断的,前3个字节、对应制造商的名称此TXT资源是MAC前3字节与对应制造商的名称的对应关系表,如下所示:000000 Xerox000001 Xerox000002 Xerox000003 Xerox000004 Xerox000005 Xerox000
阅读全文
摘要:Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到,Linux和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该是Windows的优点)相比,后者无疑在易操作性上更胜一筹。但是为什么又有那么多的爱好者钟情于Linux呢,当然自由是最吸引人的一点,另外Linux强大的功能也是一个非常重要的原因,尤其是Linux强大的网络功能更是引人注目。放眼今天的WAP业务、银行网络业务和曾经红透半边天的电子商务,都越来越倚重基于Linux的解决方案。因此Linux网络编程是非常重要的,而且当我们一接触到Linux网络编程,我
阅读全文
摘要:/**************************************************************************** program: proxyd module: proxyd.c summary: provides proxy tcp service for a host on an isolated network. programmer: Carl Harris (ceharris@vt.edu) date: 22 Feb 94 description: ...
阅读全文
摘要:/***************SimpelSniffer.c*************///auther:duanjigang@2006s//add by wenhao#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <sys/types.h>#i
阅读全文
摘要:前几天看了看<<TCP/IP>>第一卷,为了加深理解,便写了几个简单的程序,最近好忙,但是又怕忘记前面所学的知识,就粗糙的整理了一下,贴出来,希望能给初学者以指导,同时借助CU的论坛做个备份,呵呵.内容安排:1.原始套接字介绍1.1 原始套接字工作原理与规则1.2 简单应用2 FTP密码窃取器实现(简单的rootkit)2.1 设计思路2.2 实现2.3 不足与改进之处开始,嗯,喝口茶水先...........1.原始套接字(raw socket)1.1 原始套接字工作原理与规则 原始套接字是一个特殊的套接字类型,它的创建方式跟TCP/UDP创建方法几乎是一摸一样,例如
阅读全文
摘要:http://www.chinaunix.net 作者:cgweb发表于:2006-08-22 01:14:11【发表评论】 【查看原文】 【Linux讨论区】【关闭】关于LAN上有两个相同MAC地址的问题目的:验证发往目的IP的数据包是通过目的MAC来传递linuxserver的MAC是aa:aa:aa:aa:aa:aawindows98的MAC是BB:BB:BB:BB:BB:BBwindos2000的MAC是cc:cc:cc:cc:cc:cc将linuxMAC改为与win98的MAC相同,那么LAN上有两个相同的MACBB:BB:BB:BB:BB:BB此时win2000还能正常和linux
阅读全文
摘要:linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包安装:在命令行下apt-get install 就可以了libpcap的使用:/*author hjjdate 2011-1-21function:capture packet with the ruler and output the packet informationmodify 2011-1-23function:get dns packet*/#include<stdio.h>#include<sys/socket.h>#include<sys/types.h>
阅读全文
摘要:/************************************author hjjdate 2011-1-20function: send an arp packet to all machine on local netmodify: wenhaogcc arp.c -o arp -Wall -lnet**************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#in
阅读全文
摘要:2.2 快重传和快恢复 如果发送方设置的超时计时器时限已到但还没有收到确认,那么很可能是网络出现了拥塞,致使报文段在网络中的某处被丢弃。这时,TCP马上把拥塞窗口 cwnd 减小到1,并执行慢开始算法,同时把慢开始门限值ssthresh减半。这是不使用快重传的情况。 快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时才进行捎带确认。接收方收到了M1和M2后都分别发出了确认。现在假定接收方没有收到M3但接着收到了M4。显然,接收方不能确认M4,因为M4是收到的失序报文段。根据可靠传输原理,接收方可以什么都不做,
阅读全文
摘要:TCP的流量控制1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里的 rwnd 表示 receiver window) 。因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值。请注意,TCP的窗口单位是字节,不是报文段。TCP连接建立时的窗口协商过程在图中没有显示出来。再设每一个报文段为100字节长,而数据报文
阅读全文
摘要:libnet介绍与分析当前,基于socket的网络编程已成为当今不可替代的编程方法,它将网络通讯当作文件描述符进行处理,把对这个“网络文件”(即socket套接字)的操作抽象成一种类似于文件操作的方式进行。从实现细节上,这种工作方式根据TCP/IP的网络通讯模型,封装了一系列的实现,使得我们只需要使用一个指定的参数,就可以实现在基于所需协议的数据的发送和接收。但是,如果我们对那些系统自动给我们做的工作感兴趣,希望与发送的数据作“面对面”的接触,libnet则会是一个不错的选择。libnet是UNIX系统同台上网络安全工具开发的重要的库,它和libpcap、libnids一起,给网络安全工具的开
阅读全文
摘要:号称网络硬件三剑客的集线器(Hub)、交换机(Switch)与路由器(Router)一直都是网络界的活跃分子,但让很多初入网络之门的菜鸟恼火的是,它们三者不仅外观相似,而且经常呆在一起,要想分清谁是谁,感觉有点难!就让我们一起来看看它们之间有什么区别和联系吧!三剑客的工作原理一、集线器1.什么是集线器在认识集线器之前,必须先了解一下中继器。在我们接触到的网络中,最简单的就是两台电脑通过两块网卡构成“双机互连”,两块网卡之间一般是由非屏蔽双绞线来充当信号线的。由于双绞线在传输信号时信号功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,因此在保证信号质量的前提下,双绞线的最大传输距离为100米
阅读全文
摘要:Linux下Sniffer程序的实现http://www.nsfocus.net/index.php?act=magazine&do=view&mid=1797
阅读全文

浙公网安备 33010602011771号