愿星光伴随你左右


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

golang使用gopacket包进行数据包捕获,注入和分析

时间: 2023-12-13   |   分类: go     |   阅读: 2178 字 ~5分钟

使用 golang 实现网络抓包是非常容易的,可以使用谷歌的包 github.com/google/gopacket。由于 gopacket 构建在 libp­cap 之上,我强烈建议您了解该库的工作原理。您可以在 C 中学习如何使用 libp­cap 进行更深入的了解。 1.libp­cap

阅读全文 »

thrift 之 go 入门 Getting Started with Thrift Go

时间: 2023-12-08   |   分类: IT   rpc   thrift     |   阅读: 286 字 ~1分钟

下载、安装 thrift 编译器

  1. thrift 编译器的下载连接 https://thrift.apache.org/downloa 这里注意下版本
  2. 将下载的编译器放到系统的可执行目录下,并去掉版本信息, eg: thrift-0.19.0.exe 改为 thrift.exe

go 安装 thrift 包

go get github.com/apache/thrift@0.19.0
#这里的版本要和上面的对应

新建 tmp 目录

新建一个临时目录 tmp
在新建的 tmp 目录下新建一个存放 thrift 文件的 thrift 目录
将上述 thrift 包的实例文件(tutorial)拷贝到 thrift 目录下
我这里的 thrift 安装包的路径是 C:\Users\shanks\go\pkg\mod\github.com\apache\thrift@v0.19.0 
将 tutorial 中的 shared.thrift 和 tutorial.thrift 文件 拷贝到 tmp/thrift中

生成对应语言的协议文件

在上述新建的 tmp 目录下执行 
thrift -r --gen go thrift/tutorial.thrift
生产 go 语言版本的 thrift协议代码

拷贝实例代码

将上述安装目录下的 tutorial\go\src 中的代码(包括上层的 server.crt 和 server.key )拷贝到 tmp 目录下

编译 go 代码

go mod init example.com/m 有 go.mod 可不执行
go build main.go
编译报错处理即可

go flags包简介 go flags package introduction

时间: 2023-12-08   |   分类: go     |   阅读: 844 字 ~2分钟

flag包是Go语言标准库提供用来解析命令行参数的包,使得开发命令行工具更为简单

常用方法

1.flag.Usage 输出使用方法,如linux下ls -h的帮助输出

2.flag.Type(参数名, 默认值, 使用提示) Type为类型 如String, Int, Uint 调用相应的flag.Sring flag.Int flag.Uint方法

阅读全文 »

thrift 备忘录 thrift memorandum

时间: 2023-12-08   |   分类: IT   thrift     |   阅读: 185 字 ~1分钟

下载

thrift 编译器的下载连接 https://thrift.apache.org/download

版本

上述下载的编译器版本要和后续引用的 thrift 头文件的版本对应,比如这里下载的是 0.19.0 版本,后续引用头文件 github.com/apache/thrift 或者 git.apache.org/thrift.git 需要 git checkout 0.19.0

多个仓库 replace 的问题

go.mod 中可以手动添加 replace git.apache.org/thrift.git v0.19.0 => github.com/apache/thrift v0.19.0

阅读全文 »

体系化认识 RPC

时间: 2023-12-07   |   分类: IT     |   阅读: 8252 字 ~17分钟

RPC(Remote Procedure Call),即远程过程调用,是一个分布式系统间通信的必备技术。

img

RPC 最核心要解决的问题就是在分布式系统间,如何执行另外一个地址空间上的函数、方法,就仿佛在本地调用一样,个人总结的 RPC 最核心的概念和技术包括如下,如图所示:

阅读全文 »

Go 常用命令 Go Common commands

时间: 2023-12-07   |   分类: go     |   阅读: 148 字 ~1分钟

一键安装 go one key install go

apt-get install go

设置代理 set proxy

go env -w GOPROXY=https://goproxy.cn,direct

构建 go.mod create go.mod

go mod init xxx.com/xxx

设置模块代理 关于go mod安装第三方包提示: module declares its path as: xxx but was required as: yyy 解决办法

在 go.mod 中手动添加

replace yyy v0.16.0 => xxx v0.16.0

v0.16.0 是版本号,是否指定看具体情况

阅读全文 »

负载均衡算法

时间: 2023-12-06   |   分类: 算法     |   阅读: 680 字 ~2分钟

1、轮询法

将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

2、随机法

通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。

阅读全文 »

PPP 原理介绍

时间: 2023-12-06   |   分类: L2TP   ppp     |   阅读: 8337 字 ~17分钟

PPP的基本概念

PPP的基本架构

PPP协议处于TCP/IP的数据链路层,主要用在支持全双工的同异步链路上,进行点到点之间的数据传输。

图8-16 PPP在协议栈中的位置 img

PPP主要由以下几类协议族组成:

阅读全文 »
7 8 9 10 11 12 13 14 15

日志
分类
标签
RSS 订阅
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%