vc如何获取telnet命令的返回值

wang1yl 2011-05-18 04:32:55
已知telnet管理员用户名和密码,telnet登录后如何获取返回值到本地计算机上。要求纯c
...全文
1034 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
狂奔的Ant 2012-12-12
  • 打赏
  • 举报
回复
引用 8 楼 newstudent_never 的回复:
管道通信。。。 CreatePipe(phRead, pStdOuthWrite, NULL, 0) 创建读写管道。 DuplicateHandle 复制句柄 CreateProcessA 创建管道子进程, 这里要传入参数 cmd.exe ReadFile WriteFile 读写管道。 真巧, 研究什么,就有人来问什么。。
您 好!我最近在用C++调用 CMD,我想获得命令执行的返回值,能详细说一下么
xmu_才盛 2011-05-23
  • 打赏
  • 举报
回复
管道通信。。。
CreatePipe(phRead, pStdOuthWrite, NULL, 0) 创建读写管道。
DuplicateHandle 复制句柄
CreateProcessA 创建管道子进程, 这里要传入参数 cmd.exe
ReadFile WriteFile 读写管道。

真巧, 研究什么,就有人来问什么。。
HonYon 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wang1yl 的回复:]
但telnet命令无法重定向标准输入输出。
[/Quote]
那就根据telnet协议自己写socket
辰岡墨竹 2011-05-21
  • 打赏
  • 举报
回复
你直接用Socket连上去,发ASCII码就行了,telnet本身挺简单的。你可以找个netcat源码看看。
wang1yl 2011-05-21
  • 打赏
  • 举报
回复
但telnet命令无法重定向标准输入输出。
HonYon 2011-05-20
  • 打赏
  • 举报
回复
用管道
wang1yl 2011-05-20
  • 打赏
  • 举报
回复
可能我没有把问题说清楚,我要的是telnet登录后执行net localgroup命令后的返回值。现在是我可以把返回值重定向到远程计算机磁盘下的文件中,我要把文件传回本地计算机进行解析。
eye_119_eye 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhao4zhong1 的回复:]
没实际运行,试试看吧。

C/C++ code
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main( void )
{
FILE *f;

if ((f=_popen( "telnet.exe >output.txt 2>error.txt","wb"))==NULL) ex……
[/Quote]

++
赵4老师 2011-05-18
  • 打赏
  • 举报
回复
没实际运行,试试看吧。
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main( void )
{
FILE *f;

if ((f=_popen( "telnet.exe >output.txt 2>error.txt","wb"))==NULL) exit(1);
fputs("open 192.168.1.1\n",f);
Sleep(500);
fputs("username\n",f);
Sleep(500);
fputs("password\n",f);
Sleep(500);
fputs("\x1bclose\n",f);
Sleep(500);
fputs("\x1bquit\n",f);
Sleep(500);
printf( "\nProcess returned %d\n",_pclose(f));
}


70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧