- 博客(86)
- 收藏
- 关注
转载 TCP/IP数据报格式
IP数据报格式 图1.IP数据报格式版本字段长度为4,用来表明建立数据报的IP版本,目前的IP版本是IPv4,IPv6正在发展中。IPv4的字段为0100 。首部长度(报头长度)指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。15x32/8=60字节.IP首部始终是32 bit的整数倍.IP数据报报头的最小长度为2
2015-02-09 12:36:06
662
原创 Linux下C语言获取和修改本机IP地址
/** 头文件*/#ifndef _GET_IP_H#define _GET_IP_Hextern char *get_ip(char *ip);extern int set_hand_ip(const char *ip);extern int check_right_ip(const char *ip);#endif//====================
2015-02-09 10:35:16
7507
1
转载 数据库查询优化
1 使用SET NOCOUNT ON 选项:缺省地,每次执行SQL语句时,一个消息会从服务端发给客户端以显示SQL语句影响的行数。这些信息对客户端来说很少有用。通过关闭这个缺省值,你能减少在服务端和客户端的网络流量,帮助全面提升服务器和应用程序的性能。为了关闭存储过程级的这个特点,在每个存储过程的开头包含“SET NOCOUNT ON”语句。2
2015-02-09 10:25:45
571
转载 SQLite触发器使用
SQLite的触发器是数据库的回调函数,它会自动执行/指定的数据库事件发生时调用。以下是关于SQLite的触发器的要点:SQLite的触发器可以指定消防每当一个DELETE,INSERT或UPDATE一个特定的数据库表时或在一个或多个指定表的列发生更新。这时,SQLite支持FOR EACH ROW触发,没有FOR EACH STATEMENT触发器。因此,明确指定FO
2015-02-09 10:23:25
2337
转载 linux stat函数讲解
stat函数讲解表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于er
2015-02-09 10:20:22
519
转载 flock文件做各种锁定或解除锁定
表头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。 参数 operation有下列四种情况: LOCK_SH 建立共享锁定。多个进程可同时对
2015-02-09 10:19:18
3063
转载 linux c语言 fcntl函数说明
功能描述:根据文件描述词来操作文件的特性。 文件控制函数 fcntl -- file control头文件: #include ; int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int
2015-02-09 10:16:12
2406
原创 自己实现printf函数
#include#includeint my_printf(char *format,...){ va_list ap; char c; int n = 0; char ch; int d; char *str; va_start(ap,format); c = *format; while(c!='\0') { if(*format=='%') {
2015-02-09 10:13:01
544
原创 设置系统时间demo及硬件时间
//需要超级用户权限才能设置linux系统时间/*1、date -s "2014-06-11 16:13:00" 修改系统时间2、hwclock -w 系统时间写入硬件时间 hwclock -s 硬件时间写入系统时间*/#include#include#include#include/************************************* 函数功能:设置系
2015-02-09 10:11:22
637
转载 C语言函数sscanf()的用法
ret = sscanf(query, "led%d=%d", &led, &on_off);if(ret == 2){ /*此处应如何通过函数控制LED灯???*/ led_control(led, on_off);}可以通过 sscanf的返回值来判断是否获得成功。demo测试===========================
2015-02-09 09:56:36
416
转载 看了本文你还不懂傅里叶变换,那就来掐死我吧
转载自:http://www.newsmth.net/bbstcon.php?board=MilitaryTech&gid=16406360这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一 种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶
2014-10-09 10:48:22
747
转载 自己动手制作一台四位计算机
你是否想过,计算机为什么会加减乘除?或者更直接一点,计算机的原理到底是什么?Waitingforfriday有一篇详细的教程,讲解了如何自己动手,制作一台四位计算机。从中可以看到,二进制、数理逻辑、电子学怎样融合在一起,构成了现代计算机的基础。一、什么是二进制?首先,从最简单的讲起。计算机内部采用二进制,每一个数位只有两种可能”0″和”1″,运算规则是”逢二进一”。
2014-10-08 12:21:14
572
转载 线程和进程的区别是什么
题目线程和进程的区别是什么?解答这是一道出现频率极高的面试题,考察基本概念。进程可以认为是程序执行时的一个实例。进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。一个进程无法直接访问另一个进程的变量和数据结构, 如果希望让一个进程访问另一个进程的资源,需要使用进程间通信,比如:管道,文件, 套接字等。一个进程可以拥有多个线程,每个线程使用其所
2014-10-08 12:17:52
631
转载 进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。
2014-10-08 12:16:55
433
转载 一站式学习Wireshark(三):应用Wireshark IO图形工具分析数据流
基本IO Graphs:IO graphs是一个非常好用的工具。基本的Wireshark IO graph会显示抓包文件中的整体流量情况,通常是以每秒为单位(报文数或字节数)。默认X轴时间间隔是1秒,Y轴是每一时间间隔的报文数。如果想要查看每秒bit数或byte数,点击“Unit”,在“Y Axis”下拉列表中选择想要查看的内容。这是一种基本的应用,对于查看流量中的波峰/波谷很有帮助。要进
2014-10-08 10:58:08
849
转载 一站式学习Wireshark(二):应用Wireshark观察基本网络协议
TCP:TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始。如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项。选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择。选择合
2014-10-08 10:57:23
503
转载 一站式学习Wireshark(一):Wireshark基本用法
按照国际惯例,从最基本的说起。抓取报文:下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包。例如,如果想要在无线网络上抓取流量,点击无线接口。点击Capture Options可以配置高级属性,但现在无此必要。点击接口名称之后,就可以看到实时接收的报文。Wireshark会捕捉系统发送和接收的每一个报文。如果抓取的接
2014-10-08 10:56:39
460
转载 理解DOM树
理解DOM树能更好的理解libxml函数操作原理。只要理解的,才是深刻的,能做到知其然而知其所以然,使用函数时心里有底而且不易出错。为了大家更好理解DOM树在内存中的构造,我特地写了一个典型XML文件(dom.xml),并且画出其DOM树内存构造图。其后提供了一个不用XML库,查找XML节点和属性的通用程序(dom_xml.c),此程序具有较好的实用性。1.dom.xml文件dom
2014-09-25 12:07:22
689
转载 libxml的安装
一般如果在安装系统的时候选中了libxml开发库的话,系统会默认安装。如果没有安装,可以按如下步骤进行手工安装。① 从xmlsoft站点或ftp(ftp.xmlsoft.org)站点下载libxml压缩包 (libxml2-xxxx.tar.gz)② 对压缩包进行解压缩 tar xvzf libxml2-xxxx.tar.gz③ 进入解压
2014-09-25 12:06:22
559
转载 XML概述
1. XML概述关于XML的定义有以下几种说法:① XML是可扩展标记语言(Extensible Markup Language)的缩写。② XML是一种类似于HTML的标记语言。③ XML是描述数据的,重点描述“数据是什么”。④ XML的标记不是在XML中预定义的,你必须定义自己的标记。⑤ XML使用文档类型定义(
2014-09-25 12:04:40
418
转载 XML常见操作
1. 创建XML文档(1)创建一个XML文档非常简单,其流程如下:① 用xmlNewDoc函数创建一个文档指针doc。② 用xmlNewNode函数创建一个节点指针root_node。③ 用xmlDocSetRootElement将root_node设置为doc的根结点。④ 给root_node添加一系列的子节点,并设置子节点的内
2014-09-25 12:04:37
447
转载 XML语法
1. XML文档包含三个部分XML文档包含以下三个部分:① 一个XML文档声明。② 一个关于文档类型的定义。③ 用XML标记创建的内容。下面以myfile.xml为例进行说明。 XML轻松学习手册 ajie ajie@aolhoo.com20010115
2014-09-25 12:04:07
591
转载 libxml主要函数说明
许多事物符合80/20法则,libxml中也是20%的函数提供了80%的功能。下面的列表列出了libxml的主要函数及其用法说明。1. 全局函数说明头文件引用xml2config --cflags库文件引用xml2config --libs主要头文件parse.htree.hxpath.
2014-09-25 12:03:56
440
转载 libxml主要数据类型
下面介绍的是libxml主要的数据类型,对于应用编程来说,这些数据类型是需要了解和掌握的。1.内部字符类型xmlCharxmlChar是libxml2中的字符类型,库中所有字符、字符串都是基于这个数据类型。它的定义在xmlstring.h中,定义说明如下:typedef unsigned char xmlChar;使用unsigned char作为内部字符格式是考虑
2014-09-25 12:01:06
369
转载 中文字符及其中文标点符号正则表达式匹配
http://fushengfei.iteye.com/blog/939137匹配中文标点符号: String str="[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]" 该表达式可以识别出: 。 ; , : “
2014-09-10 17:52:30
6201
转载 协议森林09 爱的传声筒 (TCP连接)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在TCP协议与"流"通信中,我们概念性的讲解了TCP通信的方式。可以看到,TCP通信最重要的特征是:有序(ordering)和可靠(reliable)。有序是通过将文本流分段并编号实现的。可靠是通过ACK回复和重复发送(retransmission)实现的。这一篇文
2014-09-05 18:08:54
480
转载 linux 监测流量
三个方法查看当前流量Linux流量监控的iftop工具用途: 用来即时监看网路状态和各ip所使用的频宽执行(必须以root身份)监控eth1的网卡的流量# iftop -i eth1以位元组(bytes)为单位显示流量(预设是位元bits):$ iftop -B直接显示IP, 不进行DNS反解:$ iftop -n直接显示连接埠编号,
2014-09-05 18:08:23
623
转载 协议森林07 傀儡 (UDP协议)
传输层最重要的协议为TCP协议和UDP协议。这两者使用“网”的方式走了两个极端。两个协议的对比非常有趣。TCP协议复杂,但传输可靠。UDP协议简单,但传输不可靠。其他的各个传输层协议在某种程度上都是这两个协议的折中。我们先来看传输层协议中比较简单的UDP协议。我们将参考许多之前文章的内容(协议森林01, 03, 05)。UDP(User Datagram Protocol)传输与IP传输非常类
2014-09-05 18:07:24
587
转载 协议森林10 魔鬼细节 (TCP滑窗管理)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在TCP协议与"流"通信中,我们建立了滑窗(sliding window)的基本概念。通过滑窗与ACK的配合,我们一方面实现了TCP传输的可靠性,另一方面也一定程度上提高了效率。其工作方式如下面的视频所示:如果视频加载有问题,可点下面链接: http://v.y
2014-09-05 18:07:12
482
转载 协议森林06 瑞士军刀 (ICMP协议)
ICMP传输的信息可以分为两类,一类是错误(error)信息,这一类信息可用来诊断网络故障。我们已经知道,IP协议的工作方式是“Best Effort”,如果IP包没有被传送到目的地,或者IP包发生错误,IP协议本身不会做进一步的努力。但上游发送IP包的主机和接力的路由器并不知道下游发生了错误和故障,它们可能继续发送IP包。通过ICMP包,下游的路由器和主机可以将错误信息汇报给上游,从而让上游
2014-09-05 18:06:58
557
转载 协议森林05 我尽力 (IP协议详解)
IPv4与IPv6头部的对比 Type of Service 服务类型(Traffic Class in IPv6)。Type of Service最初是用来给IP包分优先级,比如语音通话需要实时性,所以它的IP包应该比Web服务的IP包有更高的优先级。然而,这个最初不错的想法没有被微软采纳。在Windows下生成的IP包都是相同的最高优先级,所以在当时造成Linux和Windo
2014-09-05 18:06:22
555
转载 协议森林08 不放弃 (TCP协议与流通信)
TCP(Transportation Control Protocol)协议与IP协议是一同产生的。事实上,两者最初是一个协议,后来才被分拆成网络层的IP和传输层的TCP。我们已经在UDP协议中介绍过,UDP协议是IP协议在传输层的“傀儡”,用来实现数据包形式的通信。而TCP协议则实现了“流”形式的通信。2. 如何实现可靠传输TCP协议是传输层协议,实现的是端口到端口(port)的通信
2014-09-05 18:06:06
679
转载 协议森林04 地址耗尽危机 (IPv4与IPv6地址)
在IP接力中,我们是以IPv4为例说明IP包的格式的。IPv4和IPv6是先后出现的两个IP协议版本。IPv4的地址就是一个32位的0/1序列,比如11000000 00000000 0000000 00000011。为了方便人类记录和阅读,我们通常将32位0/1分成4段8位序列,并用10进制来表示每一段(这样,一段的范围就是0到255),段与段之间以.分隔。比如上面的地址可以表示成为192.
2014-09-05 18:05:49
512
转载 协议森林02 小喇叭开始广播 (以太网与WiFi协议)
“小喇叭开始广播啦”,如果你知道这个,你一定是老一辈的人。“小喇叭”是五十年代到八十年代的儿童广播节目。在节目一开始,都会有一段这样的播音:“小朋友,小喇叭开始广播了!” 听到这里,收音机前的小朋友就兴奋起来,准备好听节目了:这一期的内容是以太网(Ethernet)协议与WiFi。 以太网的帧格式SFDTypeFCS (就像在收听广播之前,调整转钮,直到声音清晰。网卡会在接收序言的
2014-09-05 18:04:42
622
转载 协议森林01 邮差与邮局 (网络协议概观)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来
2014-09-05 18:03:25
653
转载 协议森林
互联网的目的是为了实现通信,而通信的基础是有一套行之有效的网络协议。正如我们在交谈的时候需要符合一定的语法和用语规范一样,机器之间的通话也必须符合协议。否则,每一台机器各说各的,永远也无法相互理解。“协议森林”是我已经开始写的一系列关于网络协议的文章。这一篇是系列的索引。网络协议是一个复杂的技术和政策混合体。Ethernet, IP, UDP, TCP, HTTP, DNS... 这些协议就像
2014-09-05 18:02:51
505
转载 协议森林03 IP接力赛 (IP, ARP, RIP和BGP协议)
网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供该层的socket,从而允许用户直接操作IP包。IP包的格式IPv4包 我们按照4 bytes将整个序列折叠,以便更好的显示I
2014-09-05 18:02:49
486
转载 ubuntu12.04——代理服务器squid
从北京刚到深圳的时候就想着自己要搭建一个代理服务器,目的是把公司的现有网络给管理了,因为这之前我们的学生都是依靠路由器直接上网,从而对各个班级的网速都产生了问题,既然现在来到了深圳,那么就要解决好这个问题;其实之前在北京已经在公司偷偷用过好多次代理服务器了,现在我就想通过搭建一台http代理服务器来完成各个班级上网的管理;刚开始是想在win2003上进行搭建的,可是弄了好久还是不行,而且自
2014-09-05 17:59:14
646
转载 Git常用操作命令收集
最近在用Git做版本控制,发现Git有很多命令,把一些常用的记下来,以备查看,下面的内容是转发一个童鞋总结的,挺好的,学习一下。--------------------------------------------------------------------------------------------------------------------------------------
2014-09-02 11:26:16
361
转载 ARP欺骗
什么是ARP ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(也就是相当于OSI的第三层)地址解析为数据链路层(也就是相当于OSI的第二层)的物理地址(注:此处物理地址并不一定指MAC地址)。 ARP原理:某机
2014-08-28 11:50:19
613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人