telnet用户名密码验证程序需求帮助,慷慨送分!!!

yxiaonan 2003-08-24 07:19:56
各位大哥好,在下想编一个检验linux远程登录telnet用户名密码是否正确的程序,但是不知道为什么显示到
"test lines2"之后就停了,因为在下急切需要此程序,所以请各位千万帮忙,绝对送分!程序见下:(一些变量定义等略去)


#include ...

char pala[MAX];
char pala1[MAX];
int lenpala;
int lenpala1;
int i;
FILE *fileres;
int track;
char nulldata[MAX];
char dataval[MAX];
char tempbuf[MAX];

unsigned long resolve(char *host_name) {
struct in_addr addr;
struct hostent *host_ent;

if((addr.s_addr = inet_addr(host_name)) == -1) {
if(!(host_ent = gethostbyname(host_name))) return(0);
memcpy((char *)&addr.s_addr, host_ent->h_addr, host_ent->h_length);
}
return(addr.s_addr);
}

int attack_telnet(char *arg, char *arg1) {
int ret = N;
printf("Begin test for telnet\n");
if ((sock=socket(AF_INET,SOCK_STREAM,0)) < 0) {
printf("Error opening socket: %s\n", strerror(errno));

} else {
HostAttack.sin_port=htons(TELNET);


if(!connect(sock,(struct sockaddr *)&HostAttack, sizeof(HostAttack))) {
bzero(nulldata,sizeof(nulldata));
recv(sock,nulldata,sizeof(nulldata),0);
sprintf(tempbuf,"LOGIN %s\n", arg);
send(sock,tempbuf,strlen(tempbuf),0);

sleep(1);
printf("test lines1!\n");
bzero(nulldata,sizeof(nulldata));
printf("test lines2!\n");
recv(sock,nulldata,sizeof(nulldata),0);
printf("test lines3!\n");
sprintf(tempbuf,"PASS %s\n", arg1);
printf("test lines4!\n");
send(sock,tempbuf,strlen(tempbuf),0);
printf("test lines5!\n");
sleep(5);
printf("test lines6!\n");
recv(sock,dataval,sizeof(dataval),0);
if(strstr(dataval,"last")!=NULL)
ret = Y;
} else {
printf("Error connecting: %s\n", strerror(errno));

}
}

close(sock);
return ret;
}



int checkdata;

int main(int argc, char *argv[]) {

HostAttack.sin_family=AF_INET;
HostAttack.sin_addr.s_addr=resolve("machine7");

printf("begin test\n");
checkdata=attack_telnet("root","password");
if(checkdata==Y) printf("password found\n");
if(checkdata==N) printf("password not found\n");
}
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxiaonan 2003-09-01
  • 打赏
  • 举报
回复
谢谢你的帮助,我改成ftp登录这个程序就成功了,现在开始散分!
biti_9512207 2003-08-28
  • 打赏
  • 举报
回复
Douglas E.Comer

这是第二卷的连接
http://www.china-pub.com/computers/common/info.asp?id=1746

你看看目录应该就能找到的
yxiaonan 2003-08-27
  • 打赏
  • 举报
回复
up
liuty2006 2003-08-26
  • 打赏
  • 举报
回复
mk
biti_9512207 2003-08-26
  • 打赏
  • 举报
回复
直接这样处理是不行的,你需要去看看telnet的协议,telnet服务器这时正在等待你的应答。
你需要和telnetd对一些参数进行磋商。细节在comer的书上有详细的介绍,我当年就是看那本书处理的类似问题。 祝你好运!
yxiaonan 2003-08-26
  • 打赏
  • 举报
回复
能具体告诉我是哪本书吗?谢谢!!!
SecureCRT and SecureFX v7.3.3 x86 x64 build 779 注册破解正式版 2015年3月31日官方正式更新发布! 附带了注册机和注册说明,亲测可用 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码密码与RSA鉴别。 SecureFX 支持三种文件传输协议:FTP、SFTP 和 FTP over SSH2。它可以提供安全文件传输。无论您连接的是任何一种操作系统的服务器,它都能提供安全的传输服务。它主要用于Linux操作系统如redhat, ubuntu的客户端文件传输程序,您可以选择利用SFTP通过加密的SSH2实现安全传输,也可以利用FTP进行标准传输。该客户端具有Explorer风格的界面,易于使用,同时提供强大的自动化能力,可以实现自动化的安全文件传输。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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