wireshark的 rdp dissector

摘要: 开源 wireshark的 rdp dissector https://github.com/boytm/wireshark_rdp。1)support TCP reassemble2)Fastpath Input, Fastpath Output3)Order(not all of order t... 阅读全文
posted @ 2013-10-17 15:43 JesseFang 阅读(687) 评论(0) 推荐(0) 编辑

coroutine

摘要: 在脚本语言中,coroutine 不是个新鲜词汇,比如 lua 内建 coroutine,python中的greenlet,但在C程序中,并不是太常见。windows 下有 fiber,相关函数为 ConvertThreadToFiber() thread 转 fiber CreateFiber()... 阅读全文
posted @ 2013-10-17 14:49 JesseFang 阅读(658) 评论(0) 推荐(0) 编辑

getopt vs getopts

摘要: getopt示例#!/bin/bashaflag=noargs=`getopt a: $@`if [ $? -ne 0 ]; then echo 'Usage: ...' exit 2fiset -- $argswhile [ $# -gt 0 ]do case "$1" in (-a) echo "-a was triggered, Parameter: $OPTARG" >&2;; (--) shift; non_option_arguments=$@; break;; (-*) echo "$0: error 阅读全文
posted @ 2013-09-27 17:18 JesseFang 阅读(611) 评论(0) 推荐(0) 编辑

nexus 7 2013 驱动安装及root

摘要: 驱动安装Nexus 7 2013连接上电脑后,设备管理器显示新设备 nexus 7 待安装驱动(其实是MTP设备待安装驱动)。去谷歌网站下载最新的USB驱动,version 8.0 的。与以前的版本6.0比,其实这个驱动包仅仅只改了inf,添加了新的硬件ID。然后就开始装驱动,指定目录,但如何都装不上。折腾了半天,后来尝试在 nexus 7 的开发“开发者选项”中勾上“USB调试”,这下好了,电脑报找到新设备,接着安装驱动就OK了。但该死的XP下,依然不能把 nexus7 作为可移动磁盘,设备管理器上还显示 MTP(Media Transfer Protocol) 设备待安装。需要安装Wind 阅读全文
posted @ 2013-08-26 22:23 JesseFang 阅读(2441) 评论(0) 推荐(0) 编辑

使用 rpython 在 windows 下生成的程序无法运行

摘要: 在 windows 用rpython编译出的文件总是无法运行,报通过跟踪发现,rpython 每次都会将生成的C代码、Makefile 等放置在 %TEMP%\usession-release-2.0.x-17\testing_1 中(17是序号,每次都会自增),进去此目录,发现可执行文件是可以执行的——因为编译目录里是有manifest文件的。Makefile 的生成是在 pypy-2.0.2-src\rpython\translator\c\genc.py 中的 CStandaloneBuilder::gen_makefile 中完成的,其间会调用平台相关的代码 pypy-2.0.2-sr 阅读全文
posted @ 2013-07-02 17:41 JesseFang 阅读(749) 评论(0) 推荐(0) 编辑

xrdp的rdp前端无法连接Windows 2008的问题

摘要: xrdp使用rdp前端,无法连接2008,但连接2003是可以的。连接2008的时候,会在客户端发送Client Info PDU后主动RST掉连接。如下图开始以为是客户端发送Client Info PDU有问题,后来发现包没明显问题,但对比更前面的包Server MCS Connect Response PDU with GCC Conference Create Response,可发现2003与2008的RSA1长度是不一致的,如下Server MCS Connect Response PDU with GCC Conference Create ResponseWindows 2003 阅读全文
posted @ 2013-06-29 14:10 JesseFang 阅读(942) 评论(0) 推荐(0) 编辑

TCP/IP Checksum 吐槽

摘要: 算法原理:假定 output[2] 为输出结果,input[n]为待计算校验和的内存块。1)所有奇数位[0,2,4……] byte 累加进 结果的奇数位内存 output[0],如果溢出,则进位给偶数位的 output[1];2)所有偶数位[1,3,5……] byte 累加进 结果的偶数位内存 output[1],如果溢出,则进位给奇数位的 output[0];3)最后对 output[2] 求反码即可示例代码#!/usr/bin/env python# -*- coding: utf-8 -*-import structimport sysdef ip_cksum(s): a ... 阅读全文
posted @ 2013-06-22 22:45 JesseFang 阅读(2253) 评论(0) 推荐(0) 编辑

RHEL安装时加载第三方raid驱动

摘要: IBM x3650 M3服务器做完RAID之后,不能直接的安装Linux系统,会报出没有硬盘的错误过程如下:1、到IBM的官方网站下载device drive下载后的为:ibm_dd_sraidmr_00.00.04.37_rhel5_32-64.tgz ------- 为了装64位的CENTOS5.52、将压缩文件解压tar zxvf ibm_dd_sraidmr_00.00.04.37_rhel5_32-64.tgz3、将解压后的文件传到U盘或是其它的外置的软盘中------在disks目录下找RHEL 5.5 对应的dud-2.6.18.194.RHEL5.iso4、将u盘插入到服务器的 阅读全文
posted @ 2013-06-18 14:49 JesseFang 阅读(1376) 评论(0) 推荐(1) 编辑

RHEL Channel Bonding

摘要: 1. 添加 kernel 模块RHEL5上编辑 /etc/modprobe.conf加入alias bond0 bondingoptions bond0 miimon=100 mode=1RHEL6上新建文件/etc/modprobe.d/bond0.conf加入alias bond0 bonding关于 bonding 的参数设置问题,RHEL6中推荐在 /etc/modprobe.d/.conf 中配置,/etc/modprobe.conf 已经被标记为deprecatebonding参数:miimon值表示两块网卡相互监测的时间,以ms为单位。mode值为工作模式,可设置为高可用还是负载 阅读全文
posted @ 2013-06-18 14:29 JesseFang 阅读(404) 评论(0) 推荐(0) 编辑

TCP/IP bad check sum

摘要: wireshark/tcpdump 抓到的包, 总会显示本机发送的 TCP包(和/或 IP包)校验和错误。这是由于现在网卡硬件会自动填充校验和以减轻CPU负荷,所以操作系统在TCP包的校验和中随便填充一个数字,留给网卡硬件去填充。而wireshark抓包是属于系统层,所以抓到的往外发发的TCP包校验值总是错的。下面是intel官方对网卡驱动参数的解释:IPv4 校验和分载允许适配器验证接收到信息包(Rx) 上的 TCP/IP 校验和,并计算被传输的信息包 (Tx) 上的校验和 。IPv4 校验和分载在安装了 Windows* 设备管理器英特尔® PROSet 的情况下在TCP/IP 阅读全文
posted @ 2013-05-29 15:09 JesseFang 阅读(2213) 评论(0) 推荐(0) 编辑

RHEL6下VNC安装和配置

摘要: RHEL6 环境下VNC一般是已经安装的,如果没有安装可以yum install tigervnc-server1.设置VNC登录密码vncserver之后输入2次同样的密码2.设置监听端口,和VNC桌面启动时的用户修改/etc/sysconfig/vncserver ,在最后的位置里添加两行这个 VNCSERVERS="0:root 1:root 2:other" VNCSERVERARGS[0]="-geometry 1280x800 -nolisten tcp -localhost" VNCSERVERARGS[1]="-geometry 阅读全文
posted @ 2013-02-27 20:43 JesseFang 阅读(750) 评论(0) 推荐(0) 编辑

关闭中国电信无线客户端自动更新

摘要: 中国电信无线宽带客户端,总是悄悄自动更新,更新后给硬塞一堆你不要的功能,什么网盘啊乱七八糟得东西。更甚者,12年12月的版本开始弹窗,什么砸金蛋。到13年1月就更变态了,来了个新版本,结果此版本不能选择是连“3G”还是“1X”,结果总是是自动给你连1X,1X下速度才8K,狂鄙视中。吐槽之后,总觉得得关闭自动更新。后来重新卸载后安装了最初的版本(3G网卡里面自带的那个版本“中国电信无线客户端 2007.5.25.17” )。在安装目录下找了遍,没看到名字带update的可执行程序,但发现一个VNetUpdate.dll,而这正是其升级模块,禁用步骤如下:注释掉 Client.xml 里面的mod 阅读全文
posted @ 2013-01-26 15:53 JesseFang 阅读(749) 评论(0) 推荐(0) 编辑

Lua GC 之 Ephemeron

摘要: lua 在 5.2 中对弱键表(table with weak keys)引入了 ephemeron 机制,来解决弱表的循环引用问题。我们先来解释下几个基本概念:弱引用(weak reference):可以访问对象,但不会阻止对象被收集。弱表(weak table):键或(和)值是弱引用。ephem... 阅读全文
posted @ 2013-01-08 20:22 JesseFang 阅读(1590) 评论(0) 推荐(0) 编辑

samba简单配置

摘要: 1. 需要用户名、密码的共享往samba里面添加现有的系统用户的smbpasswd -a 用户添加共享目录修改/etc/samba/smb.conf 添加[共享目录名称]comment = 注释path = 共享路径public = yeswritable = yesprintable = nowrite list = +用户2. 不需要用户名和密码的共享修改/etc/samba/smb.conf 中的 [global] 节点的 security 属性值(user表示用户认证,share表示不需要认证,domain表示域控制器) security = share添加共享目录修改/etc/sa. 阅读全文
posted @ 2013-01-06 18:06 JesseFang 阅读(209) 评论(0) 推荐(0) 编辑

Lua GC 之 Finalizer

摘要: lua 的 __gc元方法,被称为 finalizer 。这里根据其特点结合源码进行分析:1. 设置 __gc 元方法要想对象的 __gc 元方法生效,必须在设置对象的元方法的时候元表已经存在 __gc 方法,(即调用 setmetatable 时,元表已经存在__gc方法)。以后即使对元表增加了 ... 阅读全文
posted @ 2012-12-27 18:05 JesseFang 阅读(3208) 评论(0) 推荐(1) 编辑

Lua GC 之 Generational

摘要: lua在5.2版本为我们带来了分代GC(分代GC的优点,自己查编译原理去),默认不开启的,默认使用的还是增量GC。 简单描述下lua的分代GC:分代(非增量),而且也只分两代,并不是我们大家常听说的三代。为什么只分两代呢,原因很简单,它只是巧妙的利用了目前已经实现的增量GC机制。 它与 增量GC 的 阅读全文
posted @ 2012-12-26 16:52 JesseFang 阅读(1245) 评论(0) 推荐(0) 编辑

qpid安装

摘要: RHEL平台:RHEL6自带QPID-0.14(但6.3之后已经移除),可以直接通过yum安装。以下步骤为RHEL5上的:1. 安装C++客户端和服务端(需要管理工具的,直接见步骤2)先下载 qpidc-0.18.tar.gz 编译c++部分和python binding1 tar -xf qpid... 阅读全文
posted @ 2012-12-17 18:22 JesseFang 阅读(2150) 评论(0) 推荐(0) 编辑

Oracle 11g 安装的诡异问题

摘要: RHEL5上无论是repsonse文件还是界面安装,安装程序进读条卡在60%处。错误日志如下:java.lang.NullPointerException at oracle.sysman.oii.oiin.OiinNetOps.addNICInfo(OiinNetOps.java:143) at oracle.sysman.oii.oiin.OiinNetOps.computeNICList(OiinNetOps.java:108) at oracle.sysman.oii.oiin.OiinNetOps.<init>(OiinNetOps.java... 阅读全文
posted @ 2012-12-10 13:44 JesseFang 阅读(1308) 评论(0) 推荐(0) 编辑

Python GC

摘要: python的垃圾收集是引用计数的补充,所以它的工作原理和教科书上的mark-sweep有着不同——它会用到引用计数的值;进入垃圾收集的对象都是容器(可包含 PyObject 的对象,它们必须提供tp_traverse 函数实现);它没有直接的 root object,(传统的流程是直接将 root... 阅读全文
posted @ 2012-11-16 16:32 JesseFang 阅读(1309) 评论(0) 推荐(0) 编辑

tcpdump

摘要: 在RHEL6上必须指定接口参数 -i(若不指定,则默认监听第一个,且不为本地环路的接口)执行 tcpdump -D ,可显示本机的接口列表,如下图RHEL51.eth02.eth13.any (Pseudo-device that captures on all interfaces)4.loRHEL61.virbr02.em13.usbmon1 (USB bus number 1)4.em25.usbmon2 (USB bus number 2)6.usbmon3 (USB bus number 3)7.usbmon4 (USB bus number 4)8.usbmon5 (USB bus 阅读全文
posted @ 2012-11-06 15:48 JesseFang 阅读(237) 评论(0) 推荐(0) 编辑