忙活了半宿,写了个小玩意

一个Linux端,一个Windows端。。。

Windows端与Linux端通信,实现Windows与Linux互相传文件。。。

本来可以直接用ftp的,但是我的宿主机是Win7,我不想安装乱七八糟的FTP服务端软件(包括IIS),

绿色FTP服务端杀软容易报毒,Linux里面我更不愿意安装FTP服务端,卸载麻烦,

开共享 mount 的话,也麻烦,而且涉及到权限问题,

Win7上装HTTP服务端的话一样麻烦,迷你HTTP服务端倒是不麻烦,但是迷你的服务端没法上传文件,找什么其他的乱七八糟东西,麻烦。

反正其他乱七八糟的东西麻烦,就是麻烦。。。

我也是神经病,吃饱了撑的,大半宿写了这么个玩意,就不麻烦???。。。擦。。。

好歹是自己写的。。。Linux端的代码,稍加改动,移植到Windows上,用服务来实现的话,就是一个可以上传下载并执行文件的后门了。

我用的大部分都是标准库里面的东西,没有用几个WindowsAPI或者Linux syscall ,移植问题应该不大。

自己的东西,这点就是好处。。。。

话说,我这里抓BMP,桌面分块,压JPG,远程鼠标键盘控制,文件上传下载,控制台窗口隐藏,控制台输出重定向,获取计算机信息,磁盘信息,乱七八糟信息,乱七八糟模块。。。我这里都有了,啥时候有空,花几个星期,整合一下,这不就是个远控了么。。。

Linux端启动,收到Windows端要求枚举指定目录下的全部文件、文件夹,并且返回给Windows端。。。
 
图片

Windows端申请Linux端枚举指定目录下的全部文件、文件夹、链接

图片

获取父目录下乱七八糟东西

图片

图片

Windows向Linux发送文件,

图片

图片

其实,也没啥玩意,都是些小玩意,就是调试费劲,打印调试信息,太费劲。。。

而且有些地方有莫名其妙的错误。。。

比如,Linux端确认发送了指定数量的包,但是Windows端就是收不全。。。不知道为啥。。。

我单步怎么测怎么没问题,怎么跟怎么没有错。但是跑起来就是有问题。。。

单步、打LOG,测了两个多小时,就是不知道哪里有问题。。。

最后实在没招了,多加了好多个验证包的发送,才解决了问题。。。

我现在深有体会TCP的苦衷。。。
原文地址:https://www.cnblogs.com/suanguade/p/4038020.html