
linux网络编程
文章平均质量分 64
xtx1990
新一代年轻人
展开
-
从接收套接字中提取对方的ip地址和端口信息
一般使用udp套接字的recvfrom函数会得到对方的addr信息,但是如果需要观察对方的ip地址和端口信息还需要做些处理,下面的这个函数就可以做这个事情, 它返回的是一个字符串, 格式为:ip:port, 如:192.168.121.11:9910。 char *sock_ntop(const struct sockaddr *sa, socklen_t salen){ char por原创 2012-11-12 13:40:54 · 2453 阅读 · 0 评论 -
DNS报文格式
DNS是应用层协议,下面的几层分别是物理层,网络层和传输层,这里分析的报文只是应用层的报文。http://blog.chinaunix.net/uid-24875436-id-3088461.html转载 2012-12-26 13:31:38 · 571 阅读 · 0 评论 -
Round-Robin负载均衡算法及其实现原理
第一次在pjsip协议栈中了解到这个实习负载均衡的机制。于是网上查了下资料,下面的介绍应该可以很容易理解。轮询调度算法(Round-Robin Scheduling) 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。 算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调转载 2012-12-26 10:13:49 · 13619 阅读 · 0 评论 -
TCP序列号和确认号详解
转自:http://blog.youkuaiyun.com/webnumen/archive/2007/03/26/1541330.aspxTCP序列号和确认号详解在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们 学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯 的过程,并没转载 2013-01-04 10:50:22 · 1648 阅读 · 0 评论 -
链路层常见报文格式及长度
1.Ethernet帧(除去上层负载后长度为18字节)以太帧有好多种,我们最常用到的是EthernetIIEthernetII即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPAEthernetII类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别转载 2012-12-11 14:56:19 · 4583 阅读 · 0 评论 -
Http Digest认证协议
其认证的基本框架为挑战认证的结构,如下图所示:1.客户端希望取到服务器上的某个资源,向服务器发送Get请求。2.服务器收到客户端的请求后,发现这个资源需要认证信息,判断请求报文中是否带有Authorization头,如果没有,返回一个401(Unauthorized)给客户端。在这个401的回复中,同时服务器会加入一个WWW-Authenticate的头,其中有如下转载 2012-12-21 18:01:59 · 614 阅读 · 0 评论 -
pcap文件格式
pcap文件格式是bpf保存原始数据包的格式,很多软件都在使用,比如tcpdump、wireshark等等,了解pcap格式可以加深对原始数据包的了解,自己也可以手工构造任意的数据包进行测试。 pcap文件的格式为: 文件头 24字节 数据包头 + 数据包 数据包头为16字节,后面紧跟数据包 数据包头 + 数据包 ...... pcap.h里定义了文转载 2013-01-06 17:28:33 · 670 阅读 · 0 评论 -
libnet入门
在Unix系统平台上的网络安全工具开发中,目前最为流行的C API library有libnet、libpcap、libnids和libicmp等。它们分别从不同层次和角度提供了不同的功能函数。使网络开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开发。其中,* libnet提供的接口函数主要实现和封装了数据包的构造和发送过程。 * libpcap提供的接口函数主要实转载 2013-02-22 10:08:54 · 795 阅读 · 0 评论 -
POP3重复接收邮件的问题研究
在Outlook 2003中设置了在服务器上保留邮件副本之后,在pst文件中就会生成一个已经接收邮件的列表,称为UIDL缓存。UIDL是标志一个邮箱中唯一一封邮件的标志。这样客户端连接到POP3服务器之后,就可以通过POP3的UIDL命令检索服务器上的邮件,然后和本地的UIDL缓存比较,只接收本地没有的邮件,同时将接收下来的邮件的UIDL缓存到PST文件中。该存缓存的结构应该是由以转载 2013-05-22 16:54:37 · 3103 阅读 · 0 评论 -
POP3协议分析
POP3协议命令原始码及工作原理 一 简介: 1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机 模型即不能在线操作,不像IMAP4(netscape支持IMAP4) 2. 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件 都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一转载 2013-05-22 15:56:25 · 884 阅读 · 0 评论 -
Foxmail文件格式
以下内容以foxmail 6.0为准,在foxmail6.5版本中,*.IND改成了*.INDX,请特别注意!最近分析了一下Foxmail的工作原理和相关文件的格式,做了以下总结,希望对大家有用。有错误之处烦请留言指出,共同进步。 Foxmail的每个帐户作为一个目录存放在mail目录下,一般主要存在有12个文件。下面分析每个文件的用途及相关文件的格式。转载 2013-05-22 17:16:38 · 2992 阅读 · 0 评论 -
smtp和pop3的关系
SMTP即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。SMTP在整个电子邮件通信中所处的位置如图 1所示。 User Agent 1 ------SMTP(发送邮件)-------> Server1 --------SMTP-------->Server2--------POP3(读取邮件原创 2013-05-22 15:54:29 · 1210 阅读 · 0 评论 -
DNS详细解释
关于dns的详细解析请看下面网址:http://yuelei.blog.51cto.com/202879/106228下面是dns srv比较好理解的解答:DNS SRV 资源记录SRV 记录是一个域名系统 (DNS) 资源记录,用于标识承载特定服务的计算机。DNS SRV资源记录用于给出在某域中实现某种服务和协议的服务器地址列表。假设我们需要得到e转载 2012-12-25 15:27:21 · 2243 阅读 · 0 评论 -
pcap过滤规则
wpcap的过滤器是以已声明的谓词语法为基础的。过滤器是一个ASCII字符串,它包含了一个过滤表达式。pcap_compile()把这个表达式编译成内核级的包过滤器。这个表达式会选择那些数据包将会被堆存。如果表达式没有给出,那么,网络上所有的包都会被内核过滤引擎所认可。不然,只有那些表达式为'true'的包才会被认可。这个表达式包含了一个或多个原语。原语通常包含了id(名字或序列),这些i转载 2012-12-12 14:08:03 · 5302 阅读 · 0 评论 -
自己写ping的实现
#include #include #include #include #include #include #include #include #include #include #include #include #include #define PACKET_SIZE 4096 #define MAX_WAIT_TIME 5 #define MAX_NO_PACKE原创 2012-11-12 13:35:22 · 432 阅读 · 0 评论 -
linux下抓包工具
tcpdump -nn -vv -X udp port 8888上面命令是抓取udp包、端口为8888netstat -tln 命令是用来查看linux的端口使用情况 13 . 列出所有的网络连接lsof -i14. 列出所有tcp 网络连接信息lsof -i tcp15. 列出所有udp网络连接信息lsof -i udp16. 列出谁在使用某个端口原创 2012-11-12 13:40:22 · 587 阅读 · 0 评论 -
使用linux作为服务器,配置静态ip
如果我们需要使用linux系统所谓服务器的话,那么该机器理所当然应该被设置为静态ip地址。下面介绍下linux设置静态ip地址的方法:1. Vi /etc/sysconfig/network //打开文件添如下内容:IPADDR=192.168.121.14 //所要设置的静态ip地址NETMASK=255.255.255.0 //子网掩码GA原创 2012-11-12 13:40:01 · 707 阅读 · 0 评论 -
linux下抓包工具
tcpdump -nn -vv -X udp port 8888上面命令是抓取udp包、端口为8888netstat -tln 命令是用来查看linux的端口使用情况 13 . 列出所有的网络连接lsof -i14. 列出所有tcp 网络连接信息lsof -i tcp15. 列出所有udp网络连接信息lsof -i udp16. 列出谁在使用某个端口原创 2012-11-12 13:40:25 · 992 阅读 · 0 评论 -
TCP和UDP区别
TCP:有连接,可靠,带流控UDP:无连接,不可靠,比TCP的实时性要好,无流控 当需要保证可靠性是选择TCP当需要严格保证实时性是选择UDP原创 2012-11-12 13:38:17 · 324 阅读 · 0 评论 -
munin系统监控工具的使用
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE原创 2012-11-12 13:40:29 · 983 阅读 · 0 评论 -
基于数据包的原始套接字
服务器端代码:#include #include #include #include #include #include #include #include #define N 64typedef struct sockaddr SA;int main(int argc, char *argv[]){ int sockfd;原创 2012-11-12 14:04:54 · 414 阅读 · 0 评论 -
linux下c语言抓包库libpcap
安装命令:sudo apt-get install libpcap-dev由于自己还没仔细研究过,暂时也只是想在这里留个记录,方便以后需要时使用。下面是百度百科里的例子。#include #include #include int main(int argc, char *argv[]){ pcap_if_t *alldevs; pcap_if原创 2012-11-14 15:56:51 · 3624 阅读 · 1 评论 -
libnet/libnids库函数介绍
在Unix系统平台上的网络安全工具开发中,目前最为流行的C API library有libnet、libpcap、libnids和libicmp等。它们分别从不同层次和角度提供了不同的功能函数。使网络开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开发。其中,* libnet提供的接口函数主要实现和封装了数据包的构造和发送过程。* libpcap提转载 2012-12-21 17:25:41 · 729 阅读 · 0 评论 -
tipc协议详解
TIPC协议和实现解析 1, TIPC简介TIPC是爱立信公司提出的一种透明进程间通信协议, 主要适用于高可用(HAL)和动态集群环境. 该软件当前主要由风河(windriver)公司在维护, 主要支持Linux, Solaris 和 VxWorks三种操作系统, 从Linux内核2.6.34开始支持TIPC的最新版本2.0, 不过还有很多协议设计的功能没有实现. 在可信网络环境下, TCP/IP转载 2013-06-24 11:36:18 · 17657 阅读 · 0 评论