上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 70 下一页
摘要: iptable中 四个表的优先级顺序如下: raw: 对收到的数据包在连接跟踪前进行处理。一般用不到,可以忽略 一旦用户使用了 raw 表,raw 表处理完后,将跳过 nat 表和 ip_conntrack 处理,即不再做地址转换和数据包的链接跟踪处理了 mangle: 用于修改报文、给报文打标签, 阅读全文
posted @ 2023-09-19 20:18 codestacklinuxer 阅读(286) 评论(0) 推荐(0)
摘要: DNS 分为查询请求和查询响应,请求和响应的报文结构基本相同。DNS 报文格式如图所示。 上图中显示了 DNS 的报文格式。其中,事务 ID、标志、问题计数、回答资源记录数、权威名称服务器计数、附加资源记录数这 6 个字段是DNS的报文首部,共 12 个字节。整个 DNS 格式主要分为 3 部分内容 阅读全文
posted @ 2023-08-29 21:09 codestacklinuxer 阅读(1234) 评论(0) 推荐(0)
摘要: 发送窗口、接收窗口和拥塞窗口 滑动窗口机制中涉及三个重要概念: 发送窗口 发送窗口是发送端在操作系统内开辟的一块缓冲区,用来存放当前需要发送的数据,也称为发送缓存。发送端使用发送窗口进行流量控制。 接收窗口(RWND,Receiver Window) 接收窗口是接收端在操作系统内开辟的一块缓冲区,设 阅读全文
posted @ 2023-08-24 21:37 codestacklinuxer 阅读(713) 评论(0) 推荐(0)
摘要: 目前google 发布了tcp bbrv2+fixbug tcp bbrv3 目前说是 BBRv3 的数据包重传率降低了 12%,延迟也略有改善 Impact of BBRv3 vs BBRv1 on Google.com and YouTube TCP public Internet traffi 阅读全文
posted @ 2023-08-17 14:13 codestacklinuxer 阅读(768) 评论(0) 推荐(0)
摘要: 如指定 IP 包长度大于 100: tcpdump -i eth0 -n 'ip[2:2] > 100' traceroute使用 oot@zh-hz-hr-ygyradius ~]# traceroute -I -p 2000 192.168.1.1 traceroute to 192.168.1 阅读全文
posted @ 2023-08-03 21:33 codestacklinuxer 阅读(46) 评论(0) 推荐(0)
摘要: 目前使用radclient来测试模拟计费报文 模拟计费请求 start报文 radclient 127.0.0.1 auto testing123 -f acct_start.txt acct_start.txt User-Name = 'user3@example.org' Calling-Sta 阅读全文
posted @ 2023-08-03 14:44 codestacklinuxer 阅读(96) 评论(0) 推荐(0)
摘要: { http.HandleFunc("/device_status", radiusAccountHandler) err := http.ListenAndServe(":8000", nil) } func radiusAccountHandler(w http.ResponseWriter, 阅读全文
posted @ 2023-08-02 13:39 codestacklinuxer 阅读(15) 评论(0) 推荐(0)
摘要: 字符串高效拼接 常见方式:使用+ 使用fmt.Sprintf 效率比较高的: strings.Builder func builderConcat(n int, str string) string { var builder strings.Builder for i := 0; i < n; i 阅读全文
posted @ 2023-08-01 22:02 codestacklinuxer 阅读(25) 评论(0) 推荐(0)
摘要: 目前使用gout 作为http客户端, 处理数据时看到了respone数据解析。 首先看解析respone header数据: 目前看代码的核心设计逻辑: 1、创建一个Header = headerDecode{} 实例 2、调用实例的(h *headerDecode) Decode(rsp *ht 阅读全文
posted @ 2023-08-01 14:50 codestacklinuxer 阅读(62) 评论(0) 推荐(0)
摘要: 目前对于反射使用不是很熟悉,记录之 if val.Kind() == reflect.Interface { val = reflect.ValueOf(val.Interface()) } switch t := val.Kind(); t { case reflect.Uint, reflect 阅读全文
posted @ 2023-08-01 00:06 codestacklinuxer 阅读(38) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 70 下一页