![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
刘小易
从事网络协议开发。
展开
-
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 · 174 阅读 · 0 评论 -
关于Linux C 程序的内存分配
根据《unix高级环境编程》书中,一个程序分为如下5段:代码段(text),data(已初始化)段,bss段(未初始化),栈,堆。1. 一般情况下,一个可执行的二进制程序拥有3个部分:可执行的二进制程序 == 代码段 + data 段 + bss 段2. 程序被加载到内存中,还需要堆区和栈区(栈由系统分配和管理,堆由程序员手动分配和释放)正在运行的二进制程序 == 代码段 +原创 2017-09-02 21:00:03 · 384 阅读 · 0 评论 -
TCP连接中的TIME_WAIT状态
根据《UNIX网络编程》卷1,TCP的状态转换图可以得知:执行主动关闭的那端(假设客户端)经历了TIME_WAIT状态,该状态停留在那个状态的持续时间是最长分节期(maximum segment lifetime,MSL)的两倍,称为2MSL。TIME_WAIT状态的持续时间在1min~4min之间。MSL是任何IP数据包能够在因特网上存活的最长时间。每个数据包在最大跳数(255)之内在网络原创 2017-08-31 17:14:30 · 319 阅读 · 0 评论 -
《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 · 731 阅读 · 0 评论 -
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 · 1503 阅读 · 0 评论 -
lsof命令、pidof命令和pgrep命令
lsof - list open files原创 2017-09-18 13:40:58 · 2487 阅读 · 0 评论 -
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 · 21796 阅读 · 0 评论 -
关于 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 · 2753 阅读 · 0 评论 -
使用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 · 662 阅读 · 0 评论 -
编译内核并打印数据包
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 · 1165 阅读 · 0 评论 -
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 · 856 阅读 · 0 评论 -
什么是网络套接字(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 · 942 阅读 · 0 评论 -
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 · 387 阅读 · 0 评论 -
netstat 的10个基本用法
Netstat 简介Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用 netstat转载 2017-08-31 20:59:46 · 193 阅读 · 0 评论 -
Linux 常用命令
文件搜索命令locate :原创 2017-09-02 12:06:44 · 232 阅读 · 0 评论 -
Linux中fork()函数实例分析
一、fork 入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的转载 2017-08-24 15:39:20 · 334 阅读 · 0 评论 -
fork派生进程
fork派生进程#include #include int main(void) { int i=0; printf("---------------------------\n"); //ppid指当前进程的父进程pid //pid指当前进程的pid, //fpid指fork返回给当前进程的值 for(i=0;i<2;i++) { pid_t f原创 2017-08-24 15:32:26 · 427 阅读 · 0 评论 -
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 · 262 阅读 · 0 评论 -
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 · 329 阅读 · 0 评论 -
Shell脚本学习
Shell 变量 定义变量时,变量名不加美元符号如:name="com"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。原创 2017-09-06 15:38:55 · 328 阅读 · 0 评论 -
Linux 注册自定tftpd服务
linux启动服务是用SERVICE + COMMAND,(ubuntu)service 会去寻找/etc/init.d下启动程序,原创 2017-08-28 14:12:02 · 573 阅读 · 0 评论 -
使用 Gitbook+disqus
最近工作在研究RADIUS,发现一本好书《FreeRADIUS Beginner's Guide》于是想自己翻译以下,所以就利用gitbook来翻译这本电子书。具体的操作步骤如下: 一. 注册gitbook (此处使用github账户登录); New Book --> Create book --> Edit Book 二. 关联Gitbook和Github:有两种方式原创 2017-09-23 21:07:22 · 1011 阅读 · 0 评论 -
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 · 273 阅读 · 0 评论 -
用户空间和内核空间,进程上下文
1、前言 最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天好好结合书和网上的资料总结一下,加深理解。2、用户空间与内核空间 我们知道现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的3转载 2017-09-13 14:56:01 · 369 阅读 · 0 评论 -
调用动态链接库*.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 · 653 阅读 · 0 评论