显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

widebright的个人空间

// 编程和生活

 
 
 
 
 
 
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/com/android/server/connectivity/NetworkMonitor.java


isCaptivePortal  这个函数里面会发送请求到 generate_204的url,  如果返回的http status code 是204就认为网络是通的,
否则就认为存在 captive portal页面。

作者  | 2017-5-23 23:49:49 | 阅读(6) |评论(0) | 阅读全文>>

2017-05-23-windows10系统修改TCP的timestamp选项.markdown

2017-5-23 9:43:28 阅读6 评论0 232017/05 May23


查看当前设置
-----------
netsh interface tcp show global
Get-NetTCPSetting 这个是powershell的命令,netsh在powershell和命令提示符里面都可以运行
使用netsh:
----------
netsh interface tcp set global timestamps=enabled
netsh interface tcp set global timestamps=disabled
使用PowerShell:
---------------
Set-NetTCPSetting -SettingName InternetCustom -Timestamps Disabled
也可以直接在注册表设置:

作者  | 2017-5-23 9:43:28 | 阅读(6) |评论(0) | 阅读全文>>

2017-05-12-Linux内核ipset源码阅读.markdown

2017-5-12 15:05:34 阅读14 评论0 122017/05 May12

我之前还在想怎么自己在内核管理大量的ip和mac地址,然后自己做hash匹配之类的。不过linux内核里面有个ipset真是太方便了。 联合iptables使用的话,用ipset 来管理大量的ip 端口还有mac地址这些,这样就可以避免创建大量条目的 iptables规则了。 只用创建一条规则,然后set match and SET target of iptables 就可以了。 这样在有的场合,比如要封禁大量ip的时候,非常有用,应该可以大量提高系统性能。因为iptables如果上千的规则条目性能就下降的很厉害了。随便最新的实现有所 改进,但还是ipset这种方式好吧。

支持的特性可以参考官网

作者  | 2017-5-12 15:05:34 | 阅读(14) |评论(0) | 阅读全文>>

2017-05-12-Linux内核ebtables源码阅读.markdown

2017-5-12 13:58:21 阅读22 评论0 122017/05 May12

The ebtables program is a filtering tool for a Linux-based bridging firewall.
  It enables transparent filtering of network traffic passing through a Linux bridge.
**只能应用于linux bridge桥设备上面,这个是硬伤,比如你想应用于某个物理网卡,那首先要配置linux桥设备,然后把物理网卡作为桥设备的子端口添加上去才行**

最好先man ebtables或者 看看 https://linux.die.net/man/8/ebtables 的说明,
理解table  chain rule 和 match  target等概念。应该比iptables简单的多吧。

作者  | 2017-5-12 13:58:21 | 阅读(22) |评论(0) | 阅读全文>>

2017-05-11-Linux内核conntrack连接跟踪源码阅读.markdown

2017-5-11 17:53:48 阅读11 评论0 112017/05 May11

对应的源码在这几个目录下
------------------------
```text
linux-4.11\net\netfilter\nf_conntrack*
linux-4.11\net\ipv4\netfilter\nf_conntrack*
linux-4.11\net\ipv6\netfilter\nf_conntrack*
```
netfiler的挂载点
----------------
```c
/* Connection tracking may drop packets, but never alters them, so
   make it the first hook. */
static struct nf_hook_ops ipv4_conntrack_ops[] __read_mostly = {

作者  | 2017-5-11 17:53:48 | 阅读(11) |评论(0) | 阅读全文>>

2017-05-10-Linux内核vlan和vxlan源码阅读.markdown

2017-5-10 17:00:44 阅读14 评论0 102017/05 May10

vlan (802.1q)
=====
通常的vlan是指IEEE 802.1q标准定义的virtual LANs, 就是在以太网头部插入一个vlan
tag来划分子网的技术。
linux内核的vlan相关代码都在源码的linux-4.11\net\8021q 这个目录下面。

操作skb的vlan的辅助函数
vlan_insert_tag
skb_vlan_untag
skb_vlan_pop
skb_vlan_push

接收
----
接收上来的包明显要经过vlan_do_receive函数来处理,用这个函数一搜索就看到包怎么从
协议栈层传上来了,但这个从网络协议栈上来的时候,之前就在__netif_receive_skb_core

作者  | 2017-5-10 17:00:44 | 阅读(14) |评论(0) | 阅读全文>>

linux复制程序和ldd依赖的so文件的脚本

2017-5-4 15:16:01 阅读12 评论0 42017/05 May4


#!/bin/bash

if [ $# != 2 ] ; then
 echo "Usage: $0 PATH_TO_BINARY TARGET_FOLDER"
 exit 1
fi

PATH_TO_BINARY="$1"
TARGET_FOLDER="$2"

if [ ! -f "$PATH_TO_BINARY" ] ; then
 echo "The file '$PATH_TO_BINARY' was not found. Aborting!"
 exit 1
fi

if [ ! -d "$TARGET_FOLDER" ] ; then

作者  | 2017-5-4 15:16:01 | 阅读(12) |评论(0) | 阅读全文>>

好像最近open vswitch改进很多,搞了一个OVN(Open Virtual Network ),现在也支持 connection tracking 和 NAT功能了。
那stateful firewall就可以实现了,应该是可以抛iptables了吧。
OVN还是比较有意思的,已经支持L3 router功能了,不需要linux内核的ip协议栈的参与了, 集成dhcp 还有arp过滤等功能。
看上去应该是可以取代linux的 “软路由”功能了,这个东西如果配合ovs-dpdk的datapath来使用,那性能是要比普通的linux协议栈的
NAT网关实现性能要好很多吧。 看评测 ovs-dpdk的性能比非dpdk的要十几二十倍都有。而且基于ovs的firewall和coonn tracking的
性能比linux内核ip协议栈+iptables扩展性要好的。

作者  | 2017-4-25 16:26:39 | 阅读(20) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 

广东省 广州市

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注