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");
}
...全文
100 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
  • 打赏
  • 举报
回复
能具体告诉我是哪本书吗?谢谢!!!

23,124

社区成员

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

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