自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小易

用代码来阐述世界

  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 调用动态链接库*.so

计算调用程序#includeint main(void){unsigned char calc_digest[16] = {0}; // unsigned char *pstr = "abcd"; //printf("pstr = %s, sizeof(pstr)=%d\n",pstr,sizeof(pstr)); printf("+++++++++++++++++++

2017-11-02 08:00:11 648

原创 dns请求包

#include #include #include #include #include #include #include #include #include #include #include #include #include void getQueryPacket(char *DNSsendBuff);#define ADDRESS "172.16.20.1

2017-11-02 07:58:34 851

原创 Linux Makefile 学习

Makefile 格式目标:依赖[Tab]命令编译多个可执行文件CC = gcc all:fprintf __FILEfprintf:fprintf.c $(CC) fprintf.c -o fprintf __FILE:__FILE.c $(CC) __FILE.c -o __FILE clean: rm -f *.o

2017-10-22 12:03:06 1357

原创 linux shell 学习

Linux 常用命令ls -F:目录会显示/[root@milab ~]# ls -iFl总用量 12 69199780 -rw-------. 1 root root 1496 6月 8 2016 anaconda-ks.cfg 77471938 drwxr-xr-x. 2 root root 6 9月 18 21:49 svntest/ 74325841 -rw-r

2017-10-21 20:56:06 291

原创 printk和pr_info 调试

源程序:__FILE.c#includevoid test();int main(){ test(); return 0;}void test(){ printf("文件名:%s\t,函数名:%s, 行号:%d\n", __FILE__, __func__, __LINE__);}打印结果:文件名:__FILE.c ,函数名:t

2017-10-21 13:10:14 21246

原创 使用linux系统加密

root@liujie-desktop:/etc/freeradius# python -c 'import crypt; print crypt.crypt("passme","salt")'sa85/iGj2UWlAroot@liujie-desktop:/etc/freeradius# perl -e 'print(crypt("passme","salt")."\n");'sa85/

2017-10-12 22:16:22 655

原创 apt-get 和yum

ubuntu下/var/cache/apt/archivescentOS 7 /var/cache/yum/x86_64/7/base/packages

2017-10-12 17:38:56 229

原创 编译内核并打印数据包

1. 下载内核并解压 wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.11.tar.xz tar -xvJf linux-3.11.tar.xz2. 编译安装make menuconfigdate >> /date.log ; make -j 4 ;date >> /date.logcat date.log

2017-10-12 15:56:19 1138

原创 关于 make -j4

[root@localhost /]# cat /Makefileall: a b c da: sleep 2 b: sleep 2 c: sleep 2 d: sleep 2[root@localhost /]# time makesleep 2sleep 2sleep 2sleep 2real 0m8.068suser 0m0.005ssys 0m0.

2017-10-12 13:30:02 2719

原创 Ubuntu 下查询软件包的依赖关系

root@liujie-desktop:~# apt-cache depends freeradiusfreeradius 依赖: lsb-base 依赖: libc6 依赖: libfreeradius2 依赖: libgdbm3 依赖: libltdl7 依赖: libpam0g 依赖: libperl5.10 依赖: libpython2.6 依赖: l

2017-09-25 14:32:06 9047

原创 使用 Gitbook+disqus

最近工作在研究RADIUS,发现一本好书《FreeRADIUS Beginner's Guide》于是想自己翻译以下,所以就利用gitbook来翻译这本电子书。具体的操作步骤如下: 一. 注册gitbook (此处使用github账户登录); New Book --> Create book --> Edit Book 二. 关联Gitbook和Github:有两种方式

2017-09-23 21:07:22 996

翻译 [一] FreeRADIUS 新手指南

接下来的博客将把《FreeRADIUS beginner’s Guide》这本书翻译成中文,这本书的原作者是 Dirk van der Walt。 Learn by doing: less theory, more results. –Dirk van der Walt关于作者作者 Dirk van der Walt 是来自南非的一个开源软件专家。他坚信开源软件的潜力,成为 Linux

2017-09-23 11:03:56 8078 10

原创 远程服务器不是已知的tcp/ip主机

DNS的问题: 在hosts文件中添加 124.74.246.242  mail.bdcom.com.cn

2017-09-22 16:35:58 6617

原创 svn使用入门

注意自己使用的是客户端那还是服务端:svn 服务端 [root@milab /]# svnadmin create svnroot/test [root@milab conf]# svnserve -d -r /svnroot/test/ svn 客户端: 检出版本库:svn checkout svn://192.168.10.14    或者 co

2017-09-18 23:15:27 385

原创 lsof命令、pidof命令和pgrep命令

lsof - list open files

2017-09-18 13:40:58 2463

原创 如何利用github绑定自己的域名

概述网上的教程多且乱,废话太多不够明了。搞定github注册网址在这个网址 https://github.com/      例如用户名:iluqian(自定义)添加仓库Create a new repository  名字必须为  用户名.github.io (如图iluqian.github.io) 如下图所示:添加文件打开仓库,创建文件in

2017-09-18 09:52:56 8981 2

原创 【2】ping命令

root@liujie-desktop:/over/aaa/tftp-1.1# pingUsage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline] [-p pattern] [-s packetsize] [-t ttl] [-I interface or address]

2017-09-15 09:59:51 1181

原创 脚本文件中删除自己

rm  $0  删除自身脚本find . -name "xxx" 2> /dev/null  普通用户去除权限不够提示

2017-09-14 14:59:18 1114

原创 vim常用命令

q: quit,退出,如果有未保存的修改则无法退出q!: force quit,强制退出w: write edits to disk (save file),保存文件w!: force write,强制保存ZZ: quit and save edits,保存文件并退出e!: revert your changes,回滚所有修改至原始状态

2017-09-14 09:05:39 251

转载 用户空间和内核空间,进程上下文

1、前言  最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天好好结合书和网上的资料总结一下,加深理解。2、用户空间与内核空间    我们知道现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的3

2017-09-13 14:56:01 363

转载 Linux IO模式及 select、poll、epoll详解

注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间

2017-09-13 14:27:07 224

转载 Linux中的文件描述符与打开文件之间的关系

转载:http://blog.csdn.net/cywosp/article/details/389652391. 概述    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行

2017-09-13 14:14:57 233

原创 【1】TFTP软件的开发

1. TFTP协议需求分析编写TFTP协议需求文档的目的是确定TFTP协议要必须完成的工作。TFTP(Trivial FileTransfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,位于TCP/IP体系结构的应用层,服务器端口号规定设置为69,否则wireshark不识别数

2017-09-07 20:25:45 295

原创 shell脚本案例

shell 脚本案例root@liujie-desktop:/software/shell# sh stu2.sh $[1+2]root@liujie-desktop:/software/shell# sh -x stu2.sh + a=1+ b=2+ sum=$[1+2]+ echo $[1+2]$[1+2]root@liujie-desktop:/software/shel

2017-09-07 09:31:59 322

原创 Shell脚本学习

Shell 变量 定义变量时,变量名不加美元符号如:name="com"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。

2017-09-06 15:38:55 323

原创 Linux 注册自定tftpd服务(改进)

增加了端口冲占用判定;#!/bin/bash#description:tftpd#chkconfig: 2345 20 81set -e ##及时返回错误EXEC_PATH=/software/tftp-1.0/EXEC=tftpdDAEMON=/software/tftp-1.0/tftpd PID_FILE=/var/run/tftpd.pid #. /et

2017-09-05 14:13:11 261

原创 TFTP自动生成Makefile

autoconf是自动生成./configure和Makefile 安装autoconf root@liujie-desktop:/tftp-1.1# apt-get -y install autoconf利用autoscan 生成configure.root@liujie-desktop:/tftp-1.1# lstftpc.c tftpd.c tftp.hroot@l

2017-09-04 17:34:39 241

原创 Linux服务管理

简单分类:基于xinetd 服务和自定的服务和自己写的代码的服务启动。利用chkconfig --list查看开机启动的服务(Ubuntu  *deb) 服务 /etc/init.d/   下面shell脚本可以利用service启动/etc/init.d/服务名  {start | stop | restart | status }    服务的启动方法service 服务名  

2017-09-03 20:47:57 168

原创 ubuntu查看僵死进程

查看僵死进程:ps -ef | grep defunctroot@liujie-desktop:~# ps -A | grep defunct 6943 pts/2 00:00:00 tcpserv03 6944 pts/2 00:00:00 tcpserv03 6945 pts/2 00:00:00 tcpserv03 6946 pts/2 00:00:

2017-09-03 20:05:32 1518

原创 netstat 常用用法

列出当前所有连接并显示进程名  netstat -ap列出当前所有连接不包括开头为unix的连接 netstat -ap | grep -v unix列处当前所有TCP连接 netstat -atp  列处当前所有UDP连接 netstat -aup上面显示的进程p选项,同时都有进程ID,便于查看。总而言之:记住一条命令: netstat -autp 查看所有的TCP/UDP连

2017-09-03 16:48:26 1484

原创 usr/bin/ld: cannot open output file test: Is a directory

写了一个程序,gcc test.c  -o  test 的时候 出现奇怪的提示,不是warning 也不是error,# gcc -g test.c -o test/usr/bin/ld: cannot open output file test: Is a directorycollect2: ld returned 1 exit status因为: 生成的目标文件test的所在目录有一

2017-09-02 22:23:27 5109 1

原创 关于Linux C 程序的内存分配

根据《unix高级环境编程》书中,一个程序分为如下5段:代码段(text),data(已初始化)段,bss段(未初始化),栈,堆。1. 一般情况下,一个可执行的二进制程序拥有3个部分:可执行的二进制程序 == 代码段 + data 段 + bss 段2. 程序被加载到内存中,还需要堆区和栈区(栈由系统分配和管理,堆由程序员手动分配和释放)正在运行的二进制程序 == 代码段 +

2017-09-02 21:00:03 377

原创 Linux 磁盘管理命令

df   查看磁盘分区使用情况root@liujie-desktop:/# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda1 19G 4.6G 14G 26% /none 497M 316K 497M 1% /devnone 501

2017-09-02 15:34:22 430

原创 Linux 常用命令

文件搜索命令locate :

2017-09-02 12:06:44 226

转载 套接字编程相关函数(套接字地址结构、字节序转换、IP地址转换)

1. 套接字地址结构1.1 IPv4套接字地址结构  IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在头文件中。下边给出它的定义:   1)struct in_addr专门用来存储IP地址,对于IPv4来说,IP地址为32位无符号整数。其定义如下:  注:in是internet缩写。struct in_addr {    u

2017-09-01 21:21:24 520

转载 什么是网络套接字(Socket)

什么是网络套接字(Socket)?一时还真不好回答,而且网络上也有各种解释,莫衷一是。Socket定义Socket在维基百科的定义:   A network socket is an endpoint of an inter-process communication across a computer network. Today, most communication betwee

2017-09-01 20:59:55 929

原创 字符串拷贝

将一个字符串的一部分拷贝到另一个字符串中:#include#includeint main(){ char *buff = "abcdefghijklm"; printf("buff = %s\n", buff); char *data = buff + 5 * sizeof(char); printf("data = %s\n", data); char buf[14] =

2017-09-01 10:38:56 525

原创 C语言数组

数组名,a[] = {1,2,3,4,5};  a 和&a的值是一样的,但是意义不一样。a是数组首元素的地址,而&a是整个数组的首地址。&a是数组指针,其类型为int(*)[5]。#includeint main(int argc, char **argv){ int i; int a[]={1,2,3,4,5}; int s; int *p = (int *) (&a+1);

2017-09-01 10:04:37 156

转载 netstat 的10个基本用法

Netstat 简介Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用 netstat

2017-08-31 20:59:46 191

原创 《UNIX网络编程 卷1》之源码使用方法(for Ubuntu-10.04)

《UNIX网络编程 卷1》的源码可以从www.unpbook.com下载得到。解压之后的目录为unpv13e。详细步骤 1 ./configure 2 3 cd lib 4 make // 可能遇到问题:redefinition of ‘struct in_pktinfo’ 5 6 cd ../libfree

2017-08-31 20:57:41 722

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除