![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 75
Mi一下好困
这个作者很懒,什么都没留下…
展开
-
tcpdump抓包
1、基础讲解在使用tcpdump之前,需要了解到两条命令iwconfig:查看所有无线网卡ifconfig:查看所有网卡可以看到,ifconfig得到的结果比iwconfig多一个,而且iwconfig侧重得到无线信息,而ifconfig侧重展示接口信息。2、下载安装tcpdumpsudo apt-get install tcpdump3、基本语法tcpdump有自原创 2017-06-22 22:53:05 · 580 阅读 · 0 评论 -
Libevent简介与使用
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支原创 2017-05-20 13:32:25 · 14035 阅读 · 4 评论 -
select多路IO复用
多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是,不再由应用程序自己监视客户端连接,取而代之由内核替应用程序监视文件。主要使用的方法有三种:select、poll、epoll,这次介绍一下select。select函数原形:int select (int nfds, fd_set *readset, fd_set *writeset,fd_set *exce原创 2017-06-01 20:07:23 · 489 阅读 · 0 评论 -
Socket粘包问题
什么时候要考虑粘包问题1.:如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议)。关闭连接主要要双方都发送close连接(参考tcp关闭协议)。如:A需要发送一段字符串给B,那么A与B建立连接,然后发送双方都默认好的协议字符如”hello give me sth abour yourself”,然后原创 2017-05-21 15:05:59 · 766 阅读 · 0 评论 -
打洞机制
什么是打洞 什么是打洞,我们假设两个扣扣A,B,他们通信需要通过腾讯的服务器。也就是A发送消息给B的话,需要通过腾讯服务器进行一次转发,才到B那里。但像视频通话这要实时性要求比较高的通信,再用这种方式就不能保证他们通信的实时性,如果能想一个办法让他们直接通信,这样实时性就会高很多。但是我们所知的路由器是有一个保护机制的(对于陌生的IP第一次发送过来的数据包,会进行屏蔽或丢弃,主要是为了防止网...原创 2017-05-21 15:13:26 · 5851 阅读 · 3 评论 -
wordpress安装在子目录中,通过根目录访问
apache下安装wordpress的时候出了一点问题。为了站点的结构清晰,我把wordpress安装在blog目录下,但是想直接通过域名www.sunwenwen.cn访问。原本想通过设置虚拟目录来实现,但是发现使用Alias只能映射为某个特定别名,映射根目录就会出错,图片载入不了。在网上找到了这篇文章。其实就是做了个重定向,翻译+总结如下:在网站根目录下(如/var/www/)建立或编转载 2017-05-20 13:44:07 · 3395 阅读 · 0 评论 -
GIT介绍及常用命令
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Li转载 2017-05-21 03:02:17 · 291 阅读 · 0 评论 -
epoll介绍
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:define __F原创 2017-05-21 02:50:35 · 267 阅读 · 0 评论 -
nginx服务器安装搭建
1.安装nginx一共要4个包:pcre-8.39.tar.gz openssl-1.0.1t.tar.gz zlib-1.2.8.tar.gz nginx-1.10.1.tar.gz1.1安装pcre./configuremakesudo make install1.2安装zlib./configuremakesudo make install1.3安装o原创 2017-05-20 13:46:00 · 484 阅读 · 0 评论 -
GCC的原子操作
gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下type __sync_fetch_and_add (type *ptr, type value, ...)type __sync_fetch_and_sub (type *ptr, type value, ...)type __sync_fetch_and_or (type转载 2017-05-20 13:49:26 · 359 阅读 · 0 评论 -
linux信号含义
windows下有消息,那么相对Linxu下的是信号,每个信号都有一个名字,这些名字都是以SIG开头(signal的缩写),这些信号宏都被定义在了signal.h这些头文件中,每一个宏(正整数)代表一个信号,这里需要特别说明,没有编号为0(空信号)的信号,在linux下通过命令 kill -l 可以查看到所有的信号量。如:user@user-virtual-machine:~$ kill原创 2017-03-28 21:23:06 · 892 阅读 · 0 评论