代码改变世界

Linux网络编程之DOS(拒绝式服务)实例

2012-11-22 14:42 by Chung-shu, 423 阅读, 0 推荐, 收藏,
摘要:1. TCP协议TCP 协议是一种可靠的连接,为了保证连接的可靠性,TCP 的连接要分为几个步骤。我们把这个连接过程称为"三次握手"。下面我们从一个实例来分析建立连接的过程。第一步客户机向服务器发送一个 TCP 数据包,表示请求建立连接。为此,客户端将数据包的 SYN 位设置为 1,并且设置序列号 seq=1000(我们假设为 1000)。第二步服务器收到了数据包,并从 SYN 位为 1 知道这是一个建立请求的连接。于是服务器也向客户端发送一个 TCP 数据包。因为是响应客户机的请求,于是服务器设置 ACK 为1,sak_seq=1001(1000+1),同时设置自己的序列 阅读全文

Linux系统中/dev/mtd与/dev/mtdblock的区别(转)

2012-11-12 22:44 by Chung-shu, 317 阅读, 0 推荐, 收藏,
摘要:MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱 动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层 (从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。MTD字符驱动程序允许直接访问flash器件,通常用来在flash上创建文件系统,也可以用来直接访问不频繁修改的数据。MTD块设备驱动程序可以让flash器 阅读全文

Linux使用小技巧

2012-11-05 11:44 by Chung-shu, 198 阅读, 0 推荐, 收藏,
摘要:1. linux 搜索文件内容比如目录/zc下有多个子目录a,b,c.而各个目录下又有文件比如 a1,a2,a3;b1,b2,b3;c1.我知道我想找的文件里有"wow" 用什么语句可以把我想找的文件快速找到呢grep -R 'wow' /zc2. tar压缩多个文件将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar# tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩# tar -zcvf /home/www/images.tar.gz /h 阅读全文

ubuntu下安装tftp服务 (转)

2012-11-05 10:04 by Chung-shu, 199 阅读, 0 推荐, 收藏,
摘要:本文转载,源出处不明。1、安装相关软件包apt-get install tftpd (服务端)apt-get install tftp (客户端)apt-get install xinetd2、建立配置文件cd /etc/xinetd.d/vi tftp输入service tftp{ socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no per_source = 11 cps = 100 2 flags 阅读全文

Linux网络编程之Helloworld实例

2012-11-02 16:27 by Chung-shu, 408 阅读, 0 推荐, 收藏,
摘要:1. 服务端程序(server.c)#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <memory.h>/*能够同时接受的连接数*/#define BACKLOG 10int main(int a 阅读全文

深入理解软件包的配置、编译与安装(转)

2012-11-02 16:12 by Chung-shu, 170 阅读, 0 推荐, 收藏,
摘要:源出处不明。前言从源代码安装过软件的朋友一定对 ./configure && make && make install 安装三步曲非常熟悉了。然而究竟这个过程中的每一步幕后都发生了些什么呢?本文将带领你一探究竟。深入理解这个过程将有助于你在LFS的基础上玩出自己的 花样来。不过需要说明的是本文对 Makefile 和 make 的讲解是相当近视和粗浅的,但是对于理解安装过程来说足够了。概述用一句话来解释这个过程就是:根据源码包中 Makefile.in 文件的指示,configure 脚本检查当前的系统环境和配置选项,在当前目录中生成 Makefile 文件(还 阅读全文

Ubuntu下交叉编译源码包

2012-11-01 10:56 by Chung-shu, 848 阅读, 0 推荐, 收藏,
摘要:1、搭建交叉编译环境,可参考:Ubuntu下搭建MIPS交叉编译环境(转)2、配置环境变量,可参考:Ubuntu设置环境变量(转)3、进入源码包根目录下,运行./configure。configure 命令有很多参数可配置,可以用./configure --help 来查看。在交叉编译过程中可设置--host,--target,--build这几个参数,如--host=mips-linux,--build=i686-pc-linux-gnu,--target=mips-linux。其中,build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处 阅读全文

《LINUX设备驱动程序》学习之信号量实例

2012-10-31 17:34 by Chung-shu, 382 阅读, 0 推荐, 收藏,
摘要:1. 在上一个globalvar模块的基础上,添加信号量机制,globalvar.c代码如下:#include <linux/module.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/cdev.h>#include <linux/uaccess.h>#include <linux/slab.h>#include <linux/semaphore.h>#include <linux/random.h>#include &l 阅读全文

Linux 查看CPU信息、机器型号等硬件信息(转)

2012-10-30 15:28 by Chung-shu, 190 阅读, 0 推荐, 收藏,
摘要:原文出处:http://www.51testing.com/?uid-225738-action-viewspace-itemid-210333测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8个逻辑CPU, 也知道了CPU型号) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : ... 阅读全文

Ubuntu设置环境变量(转)

2012-10-30 15:24 by Chung-shu, 224 阅读, 0 推荐, 收藏,
摘要:Ubuntu设置环境变量转载自:http://blog.csdn.net/htttw/article/details/7220430Ubuntu下设置环境变量有三种方法,一种用于当前终端,一种用于当前用户,一种用于所有用户:一:用于当前终端:在当前终端中输入:export PATH=$PATH:<你的要加入的路径>不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。二:用于当前用户:在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下:vi ~/.bashrc加入:export PATH=<你的要加入的路径>:$ 阅读全文