Recent Posts
-
November 07, 2018
Facebok开源的负载均衡程序katran和linux内核的xdp包处理框架还有bpf
facebook开源的 layer 4 负载均衡程序。基于XDPhttps://github.com/facebookincubator/katran# katran[![Build Status](https://travis-ci.org/facebookincubator/katran.svg?branch=master)](https://travis-ci.org/facebookincubator/katran)Katran is a C++ library and [`BPF...
-
October 30, 2018
Net Snmp扩展开发mib文件和mib2c生成模板代码
首先要定义一个MIB,可以参考一下别的MIB,ASN.1 的定义http://www.net-snmp.org/docs/mibs/要把MIB文件加入到snmpd的配置目录里面去http://www.net-snmp.org/tutorial/tutorial-5/toolkit/mib2c/index.html查看系统snmp的MIB目录,把自己的XYZ-MIB.txt文件放到这个目录里面去[root@localhost snmp]# net-snmp-config --default-...
-
October 01, 2018
Bash脚本里面发送udp网络包
bash 发送udp数据包echo -n "hello" > /dev/udp/192.168.56.1/8000echo -n "$1" | nc -4u -w1 $HOST $PORT
-
September 18, 2018
Linux的netconsole和kdump
netconsolemodprobe netconsole netconsole=6666@192.168.1.2/eth1,6666@192.168.1.1/c8:5b:76:e4:7a:dd oops_only=1nc -l -u 6666echo c > /proc/sysrq-trigger 触发内核崩溃echo 8 > /proc/sys/kernel/printk 调整内核日志级别是否输出到console6666@192.168.1.2/eth1 是本地ip和接口...
-
September 13, 2018
Turbopfor整数varint压缩
修改makefile 增加一行 把MARCH改为 MARCH=-march=x86-64 把改为x86-64通用平台gcc -O2 -DNDEBUG -s -w -Wall -std=gnu99 -DUSE_THREADS -fstrict-aliasing -DNSIMD -march=x86-64 bitutil.o bitpack.o bitunpack.o bitunpack_sse.o bitpack_sse.o fp.o vint.o vp4c.o vp4d.o ...
-
September 03, 2018
Android应用apk的反汇编和重新打包签名
1. 反编译apk文件为资源文件和smali汇编java -jar apktool_2.3.3.jar d -f test.apk -o test-apktool 有的应用用最新apktool_2.3.3版本的解压不了java -jar apktool_2.2.4.jar d -f test.apk -o test-apktool 换成apktool_2.2.4老版本可以反汇编成功。java -jar apktool_2.3.3.jar d -f app-release-unsi...
-
August 29, 2018
Windows10系统网络测试时疯狂写wfpdiag.etl文件
做网络测试时,发现windows10在疯狂的写这个磁盘,每秒20MB左右,这个文件只有128kbC:\ProgramData\Microsoft\Windows\wfp\wfpdiag.etl搜了一下应该是防火墙在记录日志,我测试时虚拟机用了很多IP,好像是这样触发他什么规则记录日志了。不过也太疯狂了,通过下面这个命令可以禁止它。netsh wfp set options netevents = off
-
August 20, 2018
Shell脚本的字符串分割和参数展开shell expansions 和word splitting
bash的叫脚本写起来真是不习惯。args="param1 param2 param3"command1 "$args" # command 看到1个参数command1 $args # command1 命令里面会看到3个参数 “param1” 、“param2” 、“param3”。看上面这个例子, 后面这个args字符串没有引号的就被展开,分成3个参数传给 command1这个命令或者函数了。这个在bash脚本里面叫做Shell-Expansions,字符串的分割也是可以通过...
-
August 14, 2018
Linux程序重定向标准输出流stdout到文件
像golang里面的log是很容易位置输出文件的, c程序的话需要重定向标准输出流sstdout和错误输出流到stderr其实也很容易,关键是 dup2 和 freopen 函数。 freopen("stdout.txt","w", stdout); freopen("stderr.txt","w", stderr); freopen(“stdout.txt”,”w”, stdout);应该等价于 int new_fd = open("st...
-
August 06, 2018
Linux的pf_packet原始套接字接收和发送链路层的网络包
PF_PACKET socket可以用来接收和发送链路层的网络包,让你直接在二层的mac地址头后面自由构造任意的数据直接投递给网卡驱动,应该是绕过netfilter, 如果设置PACKET_QDISC_BYPASS选项还可以绕过QDISC流控。这个可以用来直接发送ARP/ICMP/IGMP/802.1q vlan头的网络包等。参考 http://man7.org/linux/man-pages/man7/packet.7.html Packet sockets are used...