自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 CentOS sshpass+scp 批量传输文件

不如Ubuntu, 默认yum install sshpass无法安装sshpass,需要用下面的步骤:cd /etc/yum.repos.d/wget http://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repoyum install sshpass

2016-07-30 12:15:56 9933

转载 linux下core文件设置与查看

程序异常推出时,内核会生成一个core文件(是内存映像以及调试信息)。可以通过使用gdb来查看core文件,指示出导致程序出错的代码所在的文件和行数。 1、查看系统中core文件生成的开关是否打开    1)使用ulimit -c命令可查看core文件的生成开关,若结果为0,则便是关闭了此功能,不会生成core文件。2、设置core文件生成    1)使用命令ulimit -c

2016-07-28 20:49:43 32926

转载 Linux高性能服务器编程——I/O复用

IO复用I/O复用使得程序能同时监听多个文件描述符,通常网络程序在下列情况下需要使用I/O复用技术:客户端程序要同时处理多个socket客户端程序要同时处理用户输入和网络连接TCP服务器要同时处理监听socket和连接socket,这是I/O复用使用最多的场合服务器要同时处理TCP请求和UDP请求。比如本章将要讨论的会社服务器服务器要同时监听多个端口,或

2016-07-28 20:40:35 341

转载 大量LAST_ACK 分析过程

现象:在netstat的时候发现大量处于LAST_ACK状态的TCP连接,达到在ESTABLISHED状态的90%以上[root@ccsafe ~]# netstat -ant|fgrep ":"|cut -b 77-90|sort |uniq -c                        6 CLOSE_WAIT        7 CLOSING          6838 E

2016-07-28 10:09:13 15768

转载 netstat 中 Recv-Q和Send-Q状态

执行命令查看当前网络状态时候发现,执行了命令 netstat -anp发现recv-q 和 send-q 状态不是很正常,对这2个参数不了解,特意学习了一下,简单总结如下:recv-Q 表示网络接收队列表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-servic

2016-07-27 17:41:24 1724 1

转载 套接字选项(SO_RCVBUF和SO_SNDBUF)

有时候我们需要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要学习套接字选项。  int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optlen) int setsockopt(int sockfd,int level,int optname,const void *optval,sock

2016-07-27 12:31:41 28821

转载 setsockopt 设置socket 详细用法

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET, SO_REUSEADDR, (const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用cl

2016-07-27 12:31:13 387

转载 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | aw

2016-07-27 10:42:58 250

转载 Linux Top 命令解析 比较详细

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.top - 12:38:33 up 50

2016-07-26 22:30:23 10507

转载 netstat 查看TCP网络连接情况

查看TCP网络连接情况 命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   www.2cto.com  返回结果示例:Cmd代码  LAST_ACK 5  SYN_RECV 30  ESTABLISHED 15  FIN_WAIT1 51  FIN_WAIT2 5

2016-07-26 18:03:17 12421 1

转载 WireShark 过滤语法

1.过 滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP2.过滤端 口例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 8

2016-07-26 17:59:50 219

转载 缺少动态连接库.so--cannot open shared object file: No such file or directory

解决方法:连接ln -s /usr/local/lib/libpcre.so.1 /lib6432位系统则:ln -s /usr/local/lib/libpcre.so.1 /lib总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边ln -s /where/you/inst

2016-07-26 15:11:27 307

转载 *** glibc detected *** free(): invalid pointer:解决方法

最近写了一个snmp方面的程序,就是实现snmp的get操作,在编译运行后报了标题上的错误,先在网上搜索了下,发现很多都有同样的错误,大概原因是在用mallc申请了存储空间后所返回的指针在之后的操作中使所返回的指针的指向发生了变化,例如:*sp = (char *)malloc (10*sizeof(int));while (*sp != '/0'){          c

2016-07-26 12:29:33 1728

转载 socket阻塞与非阻塞,同步与异步、I/O模型

1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步/异步主要针对C端: 同步:      所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/

2016-07-26 09:49:49 203

转载 socket阻塞与非阻塞情况下的recv、send、read、write返回值

recv:阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:非阻塞模式下返回 值 只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。write:阻塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:非阻塞模式下返回值 只是阻塞模式下write会阻塞着发送数据,非阻塞模式下如果暂时无法发送

2016-07-25 22:23:41 866

转载 tcpdump抓包规则常用命令

[html] view plain copy 下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。  首先安装tcpdump包:yum install -y tcpdump     1、抓取包含172.16.1.122的数据包  # tcpdump -i eth0 -vnn host 172.16.1.122     2、抓取包含172

2016-07-25 12:21:36 392

转载 TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系 .

链接地址1. TCP发送接口:send()        TCP发送数据的接口有send,write,sendmsg。在系统内核中这些函数有一个统一的入口,即sock_sendmsg()。由于TCP是可靠传输,所以对TCP的发送接口很容易产生误解,比如sn = send(...); 错误的认为sn的值是表示有sn个字节的数据已经发送到了接收端。其实真相并非如此。        我们知道,T

2016-07-25 10:56:53 13822

转载 Linux中设置服务自启动的三种方式

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务主要用三种方式进行这一操作:ln -s                       在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)chkonfig                命令行运行级别设置ntsysv               

2016-07-23 23:15:20 326

转载 epoll详解

什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol

2016-07-23 11:21:45 266

转载 Centos 配置eth0 提示Device does not seem to be present

一.故障现象:[root@c1node01 ~]# service network restartShutting down loopback insterface:                                                       [   OK  ]Bringing up loopback insterface:              

2016-07-23 09:38:03 253

转载 C语言实现ping功能(查看设备联网状态)

本文ping功能是利用gethostbyname()函数来实现的。    gethostbyname()函数说明——用域名或主机名获取IP地址    包含头文件    #include     #include     函数原型    struct hostent *gethostbyname(const char *name);    这个函数的传

2016-07-23 08:38:50 4115

转载 Linux 安装VNCServer

在Linux平台安装VNCServer服务端软件包。#yum -y install vnc *vnc-server*修改VNCServer主配置文件#vim /etc/sysconfig/vncservers复制最后两行并去掉行首注释符,然后修改为VNCSERVERS="1:root"VNCSERVERARGS[1

2016-07-22 13:18:50 691

转载 C语言sscanf函数的总结

在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。[cpp] view plain 

2016-07-18 16:52:46 214

转载 Linux下DIR,dirent,stat等结构体详解

最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。首先说说DIR这一结构体,以下为DIR结构体的定义:struct __dirstream   {    void *__fd;    char *__data;    int __entry_data;    char *__ptr;

2016-07-14 15:34:50 239

转载 算法时间复杂度的计算

基本的计算步骤 时间复杂度的定义     一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳

2016-07-13 15:44:06 450

转载 Protocol Buffer技术详解(语言规范)

Protocol Buffer技术详解(语言规范) 该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo。这样做的目的主要在于不仅可以保持Google文档的良好风格和系统性,同时再结合一些比较实用和通用的用例,这样就更加便于公司内部的培训,以及和广大网友的技术交流。需要说明的是,Blog的内容并非line

2016-07-12 11:05:48 358

转载 TCP选项之SO_LINGER

SO_LINGER这个选项在我以前带队改造haproxy的时候引出过一个reset(RST)客户端连接的bug。SO_LINGER作用设置函数close()关闭TCP连接时的行为。缺省close()的行为是,如果有数据残留在socket发送缓冲区中则系统将继续发送这些数据给对方,等待被确认,然后返回。利用此选项,可以将此缺省行为设置为以下两种  a.立即关闭该连接,通过发送

2016-07-08 16:14:42 366

空空如也

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

TA关注的人

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