自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 客户端多次RST以及不同场景下的RST报文的差异

在某个TCP交互过程中,我们发现在交互的后期,客户端多次向服务器端发送RST报文,如下图所示:         我们首先来看客户端发出的第一个RST报文的解码:        RST与ACK标志位都置一了,并且具有ACK number,非常明显,这个报文在释放TCP连接的同时,完成了对前面已接收报文的确认。       我们再来看看客户端发出的后续RST报文

2016-01-27 15:32:03 15513

原创 如何解决Connect超时导致的阻塞问题

这几天发现一个现象,客户端正常连接服务器connect显然不会出现问题。        在异常情况下,如果是服务器出现异常,connect能够立即返回失败;但是当客户端出现异常的情况下,分为两种情况:        一种是不插网线,客户端没有获得ip地址,在这种情况下,connect也可以立即返回错误;        二是但是当客户端插上网线,但是连接网络失败,也就是说能够获取到ip地

2016-01-25 09:29:55 11078 2

原创 lua table 遍历

Lua常用的4中遍历方式for key, value in pairs(tbtest) do XXX end 这样的遍历顺序并非是tbtest中table的排列顺序,而是根据tbtest中key的hash值排列的顺序来遍历的。for key, value in ipairs(tbtest) do XXX end  这样的循环

2016-01-21 15:58:06 671

转载 luci 关于Map

HooksThe CBI gained support for hooks which can be used to trigger additional actions during the life-cycle of a map:map = Map("config", "Title Text")function map.on_commit(self) -- do som

2016-01-21 13:31:28 1916

原创 容器list使用之erase

今天程序里面使用了list容器,其中用到了erase()函数,程序竟然崩溃了,之前一直没出现问题,感觉莫名奇妙。花了点时间,搞清楚了erase()函数的机理。常用的删除容器中元素的方法是如下(方法1):      list List;      list::iterator iter;      for( iter = List.begin(); iter != List.en

2016-01-16 17:09:58 773

转载 Openwrt开发与Luci介绍

Openwrt开发与Luci介绍字数4199 阅读1299 评论0 喜欢2摘要:Lua作为一门方便嵌入(其它应用程序)并可扩展的轻量级脚本语言来设计的,因此她一直遵从着简单、小巧、可移植、快速的原则,官方实现完全采用ANSI C编写,能以C程序库的形式嵌入到宿主程序中。Lua的每个版本都保持着开放源码的传统,不过各版采用的许可协议并不相同,自5.0版(最新版是5.1)开始她采用

2016-01-14 15:06:32 3457

原创 netstat监控大量ESTABLISHED连接与Time_Wait连接问题

netstat监控大量ESTABLISHED连接与Time_Wait连接问题问题描述:在不考虑系统负载、CPU、内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连接。# netstat -n | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'CLOSE_WAIT

2016-01-12 11:57:33 898

转载 luci 打印函数封装

最近把luci代码深入地剖析了一遍.说实话刚开始看的时候也是云里雾里,特别是dispatch函数, 这其间也是参考了几篇文章, 特此感谢.刚开始看luci代码确实就和逆向没啥区别, 需要揣摩作者对于各个变量的用途. 于是我就想了一个办法, 就是把每个变量都打印出来.为此我在/usr/lib/lua/luci目录下引入了log.lua模块:local M = {}local

2016-01-11 20:37:37 976

原创 linuxshell脚本shell if [ -d filename]

[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。

2016-01-11 16:49:59 928

转载 openwrt源码框架解析

本篇的主要目的是想通过分析Makefile,了解openwrt编译过程。着重关注以下几点:openwrt目录结构主Makefile的解析过程,各子目录的目标生成。kernel编译过程firmware的生成过程软件包的编译过程openwrt目录结构官方源下载速度太度,我从github上clone了openwrt的代码仓库。git clo

2016-01-11 15:00:54 16412

空空如也

空空如也

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

TA关注的人

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