VY-netcat

Published in Aug 03, 2024

介绍

VY-netcat是基于vlang语言编写的一款网络工具, 主要用于CTF题目环境搭建, 将集成在VTF比赛平台, 相比较其他同类型工具, 主要将进行以下优化:

开发情况

需求解决情况开发者
帮助菜单已解决sudopacman
基础连接已解决sudopacman
支持gcc编译已解决sudopacman
交叉编译存在bug(module client) 
兼容windows最低程度sudopacman
socket崩溃问题未解决 
指令执行未解决 
监听端口已解决sudopacman
保持监听已解决sudopacman

使用

您可以直接获取我们编译好的二进制文件进行使用, 也可以通过vlang或gcc自行编译, 关于vlang的详细配置方法可以参考vdoc.

直接获取

wget https://gitee.com/cryingn/vy-netcat/releases/download/[版本号]]/nc
./nc -h

自行编译

Linux

详细的编译规则写在makefile中, 系统默认使用vlang进行编译, 当vlang编译失败时, 会自动切换到gcc进行编译.

git clone https://gitee.com/cryingn/vy-netcat.git
cd VY-netcat
make
cd bin
./nc -h

Windows

VY-netcat最低程度支持了在windows环境使用, 考虑到不方便使用make, 单独写了make.bat文件提供编译:

git clone https://gitee.com/cryingn/vy-netcat.git
cd VY-netcat
./make
cd bin
./nc -h

帮助

以下为help中的说明.

[root_cn@archlinux vy-netcat]$ ./nc -h
VY netcat v0.1.1, the network tools suitable for CTF.
Basic usages:
 connect to somewhere:  nc [addr] [port]
 listen to somewhere:   nc -lp [port]
 keep to listen:                nc -klp [port]
CmdOptions:
 -h, --help                            display this help and exit.
 -e, --exec [shell]                    program to exec after connect.
 -lp, --listen_port [int]              listen the local port number.
 -klp, --keep_listen_port [int]        keep to listen the local port number.

参与贡献

我们推荐使用vlang直接进行贡献, 在提交前请确保已经将文件编译到c(linux环境下), 我们提供了足够简便的方法用于检查:

make c

如果没有以下提示则表示vlang文件已经成功编译到c:

[warn] Unable to make to src/netcat.c

VY许可证说明

在不进行个人补充的情况下VY许可证又称为VY通用许可证, 公开使用时只需标注社(VYCMa.png)标或声明源码来自VYCMa, 便可以免费修改和商用素材.

对于分发问题, 为方便更多人理解, 在VY许可证中有重新定义”版权转移”概念: 他人修改源码后可以闭源, 每个修改过的文件需放置版权说明, 如果要进行公开展示需标注作者个人的标志,若作者无特殊说明需标注社标(VYCMa.png)标或声明源码来自VYCMa.

Recommended citation: 作者: CryingN
Download Paper | Download Slides