Converting a pointer to a byte slice
如果是从裸指针直接转为 []byte 数组接收,会出现异常,需要准备 []byte 的底层结构再行转换
https://stackoverflow.com/questions/43591047/converting-a-pointer-to-a-byte-slice
https://play.golang.org/p/An7jG5xl2W
package main import ( "fmt" "reflect" "unsafe" ) var data = []byte(`foobar`) func main() { rv := reflect.ValueOf(data) ptr := rv.Pointer() length := rv.Len() var sl …
使用telnet传输文件
部分情况下,目标机器上没安装任何可以传输文件的命令,也没有任何权限进行安装,但是有 telnet 命令
如果需要传输文件,那么会比较麻烦,这里通过 python 的方式进行传输文件
传输文件的方式:从本地机器(python服务端)到目标机器(telnet客户端)
整体逻辑(需要确保目标机器可以连接到本地机器)
1、本地机器启动一个 python 监听
2、目标机器 telnet 连接到本地机器
3、本地机器等待到监听后,读取文件发送到 socket 流
4、目标机器 telnet 客户端接收数据流,写到目标文件
下面是网上找到传输文件的例子,这里还进行 base64 编码(可以去掉),实际使用根据需要调整
import socket import base64 port = 10005 filename = …