linux C高级编程
鱼虾一整碗
网络安全服务器研发工程师
展开
-
wireshark过滤ip 端口 post
ip.dst == 192.168.74.72 and tcp.port in {443} and http.request.method==POST完!原创 2019-07-06 13:23:53 · 3291 阅读 · 0 评论 -
sqlite3入门
转载地址:https://www.cnblogs.com/IamLoser/p/6648396.html https://baike.baidu.com/item/SQLite/375020sqllite简介:SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已...转载 2018-04-01 23:24:25 · 190 阅读 · 0 评论 -
I/O多路复用
近日涉及I/O多路复用的知识,在此做一个梳理和备忘。转载地址:https://zhuanlan.zhihu.com/p/22834126 https://blog.csdn.net/davidsguo008/article/details/73556811 概念引入 I/O多路复用的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或...转载 2018-03-31 19:16:01 · 1484 阅读 · 0 评论 -
iptables命令对端口和IP的基本操作
关闭端口(例如关闭tcp的80端口)#iptables -A INPUT -p tcp -dport 80 -j REJECT开启端口(例如开启tcp的80端口)#iptables -A INPUT -p tcp -dport 80 -j ACCEPT屏蔽IP(例如屏蔽1.1.1.1)#iptables -I INPUT -s 1.1.1.1 -j DROP开启IP(例如屏蔽1.1.1.1)#ip...原创 2018-03-13 17:20:38 · 810 阅读 · 0 评论 -
linux--系统备份(加密)
服务器传输文件都是需要加密的。服务器的备份和恢复功能也需要对相关的文件进行加密。比如文件是 test备份(压缩):tar -zcvf - test | openssl des3 -salt -k password | dd of =test.des3tar -cjf - test | openssl des3 -salt -k 11111111 -out test原创 2018-01-08 16:54:27 · 420 阅读 · 0 评论 -
TCP协议详解
转载地址:https://www.jianshu.com/p/ef892323e68f为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于转载 2018-01-17 10:44:38 · 520 阅读 · 0 评论 -
linux环境下的网络编程(C语言)
前言:这里给出一个简单的socket网络编程实例,使用tcp协议进行通信。服务端:进行监听,连接成功后,收到客户端的信息,打印出信息内容,并给客户端发送回应。客户端:连接成功后,给服务端发送信息,并接收服务端的回应,打印出回应内容。程序:服务端文件名:server.c#include#include#include#include#include#incl原创 2018-01-17 10:02:12 · 4448 阅读 · 0 评论 -
C语言中 使用popen函数向linux系统发送shell命令
头文件:stdio.h函数原型:FILE *popen(const char *command,const char *type);参数说明:command存放要发送的命令type值如果是r,那么标准输出;如果是w,那么标准输入。举例:#includeint main(){ FILE *stream; //存放文件流指针 char command原创 2017-07-07 09:48:00 · 1220 阅读 · 0 评论 -
Linux下使用抓包工具tcpdump
一般来说linux下默认安装了tcpdump若没安装可以使用命令来安装yum install tcpdump还可以使用源码包来安装共需要安装四个工具 bison flex libpcap tcpdump在网上搜到各个源码后安装即可。完!原创 2017-07-18 17:41:10 · 411 阅读 · 0 评论 -
linux下的定时任务管理器 crontab
1,创建cron文件test.cron内容如下:SHELL=/bin/sh* * * * * /usr/sbin/ls上边这句话就是每分钟执行一次 lscrontab 格式分 时 天 月 年 命令如果*代表全选,因此上述意思为每分钟执行一次 ls2,加入执行crontab /home/test.cron我们可以使用crontab原创 2017-09-18 17:58:25 · 957 阅读 · 0 评论 -
linux系统中rsyslog用法
配置文件在/etc/rsyslog.conf中其中local1到local7是留给用户的。使用方法:1.在/etc/rsyslog.conf中写入下面这一行,代表我们要占用local6,并将local6标识的日志打印到/var/log/test.log中local6.* /var/log/原创 2017-07-07 14:06:43 · 1252 阅读 · 0 评论 -
linux系统中日志文件管理(日志文件分包)
在linux系统中,有一个日志总管,配置文件在logrotate.conf和logrotate.d内容如下[root@bogon etc]# cat logrotate.conf # see "man logrotate" for details# rotate log files weeklyweekly //默认一周分割一次 # keep 4 week原创 2017-07-07 13:59:14 · 493 阅读 · 0 评论 -
linux下openssl命令详解
目录:1,openssl命令总览2,证书应用3,RSA应用4,SHA1 应用5,base64应用6,des3应用1,OpenSSl命令总览语法格式:openssl command [ command_opts ] [ command_args ]常用command:version 用于查看版本信息enc 用于加解密ci原创 2017-01-12 17:31:34 · 32094 阅读 · 0 评论 -
linux各种格式的压缩解压
1 .tar.gz文件压缩:tar -zcvf test.tar.gz test解压缩:tar -zxvf test.tar.gz2 .bz2文件压缩: tar -cjf test.bz2 test解压缩: tar -xjf test.bz23 .zip文件压缩:zip test.zip test解压缩:unzip test.zip4 .gz文件压缩原创 2016-12-15 11:04:37 · 354 阅读 · 0 评论 -
正则表达式简述
转载地址:www.jb51.net/tools/zhengze.html本文目标让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么转载 2018-04-15 15:22:54 · 232 阅读 · 0 评论 -
nginx重启时端口被占用
ps查看进程如下:~ # ps aux | grep nginxroot 1916 0.0 0.0 22012 2756 ? Ss 16:34 0:00 nginx: master process /www/bin/nginxroot 5533 0.0 0.2 28576 8108 ? S 16:58 0:...原创 2019-03-07 17:34:13 · 1405 阅读 · 0 评论 -
C程序中发送http请求,并使用cJSON对返回的json数据进行解析
代码如下:int http_post( unsigned char *req, int reqlen, unsigned char *respbuf, const int respbuflen, int timeout){ int ret = 0; int error; socklen_t len; struct sockaddr_in sa; int sockfd = ...原创 2019-02-23 18:09:27 · 2452 阅读 · 2 评论 -
inotifywait+rsync实现配置同步
inotifywait可用来检测文件或目录 一旦触发条件就会执行设定的操作。rsync是同步工具。详细不再赘述,查看设计文档即可。此条博客仅供自己备忘,小白请绕行。...原创 2018-10-26 11:36:37 · 700 阅读 · 1 评论 -
popen与system
popen与system都可在C语言代码中实现shell命令的执行。popen是不堵塞的,也就是说不会等待子进程的结束并杀死子进程,即不会管理进程。这样就需要我们认为的去杀死或忽略子进程等操作。还有就是popen会将执行的结果返回到buf中。system是堵塞的,会自动对进程进行管理,无需我们再去对进程进行管理。另外,system不会返回执行的结果,只是会返回执行是否成功。若想要获取s...原创 2018-10-29 11:10:47 · 3557 阅读 · 0 评论 -
nginx添加请求头字段、apache添加响应头字段
nginx添加请求头字段:server{......proxy_set_header MyHeader "test";......} apache添加响应头字段(windows):修改配置文件httpd.conf将下面这句话前面的“#”去掉。LoadModule headers_module modules/mod_headers.so在配置文件的最后添加...原创 2018-07-31 19:03:01 · 4979 阅读 · 0 评论 -
nginx中的ngx_http_request_t结构体详解
说明:一个request的完整周期是从client到server的请求加server到client的响应,请求和响应都存放在ngx_http_request_t结构体中,请求是存放在ngx_http_request_t中的request字段,此时response是空的。响应是放在ngx_http_request_t中的response中,此时为了保证效率和内存,nginx会将request释放。转载 2018-04-13 11:34:21 · 1268 阅读 · 0 评论 -
nginx开机自启动以及状态控制
转载地址:https://blog.csdn.net/u013870094/article/details/52463026Nginx 是一个很强大的高性能Web和反向代理服务器。虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便。下面介绍在linux下安装后,如何设置开机自启动。首先,在linux系统的/etc/init.d/目录下创建nginx转载 2018-04-18 11:57:03 · 352 阅读 · 0 评论 -
nginx做反向代理
反向代理概念:最初是client访问server,但是使用代理服务器去代理server后,当client访问server时就不会直接访问server,而是先访问代理服务器,由代理服务器再去访问serevr。但是client并不知道自己访问的是一台代理服务器。这个代理服务器就是反向代理。反向代理与正向代理的区别:反向代理代理server,正向代理代理client。使用nginx做反向原创 2018-04-18 11:55:26 · 286 阅读 · 0 评论 -
nginx开发从入门到精通
发现一个很好的网页,特地拿出一篇文章来保存它。以备后用。http://tengine.taobao.org/book/index.html原创 2018-04-16 18:18:49 · 426 阅读 · 0 评论 -
Linux系统产生随机数 /dev/random和/dev/urandom
/dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。这两个设备的差异在于:/dev/random的randompool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待...原创 2018-04-16 15:06:19 · 5597 阅读 · 1 评论 -
memcached启动参数详解以及关键配置的默认值
转载地址:https://blog.csdn.net/luotuo44/article/details/42672913关键配置的默认值: 很多关键配置变量都是全局结构体变量settings的成员变量。函数settings_init会将这些关键配置变量赋默认值。下面就把这些变量列出来并给予解释。[cpp] view plain copy print?static void setti...转载 2018-04-15 19:16:34 · 1092 阅读 · 0 评论 -
在linux C中使用memcache
memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。一、安装libevent由于memcached用到了libevent这个库中关于Socket的处理,所以安装memcached之前需安装libevent,目前(2012.5.2)最近版本是libevent-2.0.18-stable.tar.gz...转载 2018-04-15 18:52:05 · 777 阅读 · 0 评论 -
在linux C中使用正则表达式pcre
程序示例:#include <stdio.h> #include <string.h> #include <pcre.h> #define OVECCOUNT 3000 #define EBUFLEN 128 #define BUFLEN 1024 int main() { pcre *re; const char *error; i...原创 2018-04-15 16:41:44 · 482 阅读 · 0 评论 -
linux下apache+php的安装配置(源码)
1,Apache部署方法如下:# tar -zvxf httpd-2.0.55.tar.gz# cd httpd-2.0.55# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so# make# make install启动apache:/usr/local/apache原创 2016-11-29 18:14:07 · 617 阅读 · 0 评论 -
Linux系统网卡配置详解以及—常见问题的解决方法以及—硬盘移植后网卡的配置
前言:最近给好多机器配置了网卡,因为配的多所以遇到的问题也多本文就做个总结本文讲的不是具体问题的解决方法,而是给你一个思路,知道问题出在哪里,掌握了这些规则后,能够自如的解决任何与网卡配置有关的问题!下面我们开始!首先,硬件方面就不必说了,必须保证你的机器硬件是没问题而且网线也必须插好有没有!!!好吧,这是废话。连接网络有局域网和广域网之分所谓局原创 2016-11-22 13:40:34 · 1709 阅读 · 1 评论 -
linux C 生成带有格式的文件 wkhtmltopdf(类似word的效果 有颜色 字体等等)
一般来说我们直接往文件里写东西 是没法带有格式的因此我们需要借助html将要写的东西,以html的形式写好,自然就可以带有格式了之后将这个html文件转换为pdf文件即可。html文件转换为pdf文件时,我们可以借助开源工具 wkhtmltox(wkhtmltopdf),效果非常好。再说一句题外话,将txt之类的文本文档如何转换为pdf呢?我们可以使用工具ghostsc原创 2017-09-14 14:50:08 · 1548 阅读 · 0 评论 -
lvs(负载均衡)开发综述
Lvs(负载均衡):一台主负载a,备机负载b,备机负载c......,当a负载超出限制时,就会将业务分发至bc,从而保证效率和可用性。安装开源软件:以下软件的安装通过编写脚本build.sh来实现。Arping:是一个 ARP 级别的 ping 工具,可用来直接 ping MAC 地址,以及找出那些 ip 地址被哪些电脑所使用了。原创 2018-01-02 18:28:15 · 295 阅读 · 0 评论 -
ha(双机热备)开发综述
Ha(热备):一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。安装开源软件:以下软件的安装通过编写脚本build.sh来实现。Arping:是一个 ARP 级别原创 2018-01-03 11:41:50 · 5698 阅读 · 0 评论 -
代理服务器的代理方式(包含正向代理、反向代理、透明代理)
正向代理(Forward Proxy)一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下:正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返原创 2018-01-03 15:51:41 · 858 阅读 · 0 评论 -
net-snmp开发过程整理-src开发
这个过程也是最重要 最复杂的一个过程。大家去网上搜索资料吧。不再细说。下班了~原创 2017-12-12 18:18:35 · 251 阅读 · 0 评论 -
net-snmp开发过程整理-补充
近期,页面降之前的snmp配置文件“修改”的方式 改为 “重写的方式”。下面做一些知识点上的补充记录。原创 2017-12-12 16:09:28 · 579 阅读 · 0 评论 -
net-snmp开发过程整理-两个工具
比如说咱们把net-snmp安装到一台linux机器,然后我们要来监控这台机器(称为A)。我们在另外一台windows机器(称为B)上对这台linux机器进行监控。此时我们需要在B上安装两个软件。其一:如下图,称之为iReasoning MIB Browser.将之前写过的MIB.txt文件 加载到该工具中, 我们便可以对A进行主动的监控。工具2:如下图,网上很容易搜到这个工具。将这个工具开启后,...原创 2017-12-12 18:01:17 · 449 阅读 · 0 评论 -
net-snmp开发过程整理-MIB.txt文件
net-snmp的每一条监控信息,都有一条自己的oid。在接收或者发送时,可以使用oid进行设定。oid定于在MIB.txt文件中。下面是我写的MIB.txt文件(样例)。原创 2017-12-12 17:49:38 · 1776 阅读 · 1 评论 -
net-snmp开发过程整理-配置文件详解
配置文件控制net-snmp运作模式。全部的配置如下:agentAddress udp:161rocommunity publiccom2sec notConfigUser default public#group notConfigGroup v1 notConfigUsergroup notConfigGroup v2c原创 2017-12-12 17:28:58 · 893 阅读 · 2 评论 -
net-snmp开发过程整理-简介
今年中旬开始接手net-snmp这个项目,因当时时间紧,一直没写这方面的博客,后来做别的项目了,这个也一直忘了补充。因net-snmp的开发过程比较繁琐,涉及到的文件较多。这里不再详解,只是简单的总结。什么是net-snmp?net-snmp是一个监控工具,可以实时监控设备上的一些信息,如内存、cpu、风扇等等,基本一台设备所有的运作信息,我们都可以监控的到。net-snm原创 2017-12-12 17:24:51 · 903 阅读 · 0 评论