>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  多线程ftp banner & 匿名快速搜索程序 [zz]
发表文章 发表涂鸦
  回复数:9  点击数:558 将此页发给您的朋友        
作者 主题: 多线程ftp banner & 匿名快速搜索程序 [zz] 回复 | 收藏 | 打印 | 篇末
spark帅哥哦
级别:长 老 级
威望:4
经验:0
货币:723
体力:34.5
来源:江苏
总发帖数:780
注册日期:2001-06-26
查看 邮件 主页 QQ 消息 引用 复制 下载 

code:


/*
*ftpscan.c
*
*This program create some thread to scan anonymous FTP and Banner
*
*Copyright(C) 2002 Feng Zhikun
*/

#include <pthread.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <stdio.h>

#define BUF_LEN 255
#define THREAD_MAX_NUM 256

extern int errno;

uint32_t startIP,endIP,k;

pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER;
pthread_t thread[THREAD_MAX_NUM];

void *scanhost()
{

struct sockaddr_in saddr;
int sockfd,flags,len,error,status,temp;
char buf[BUF_LEN];
struct timeval timeout={10,0};
fd_set wmask,rmask;

saddr.sin_port=htons(21);
saddr.sin_family = AF_INET;
pthread_mutex_lock(&mut);

while (k<=endIP){
saddr.sin_addr.s_addr=htonl((uint32_t)k);
pthread_mutex_unlock(&mut);
if ((sockfd = socket(PF_INET,SOCK_STREAM,0))<0) {
printf("Socket error\n");
exit(-1);
}

//printf("%d scanning...%s at %d\n",pthread_self(),inet_ntoa(saddr.sin_addr),sockfd);
//fflush(stdout);

FD_ZERO(&wmask);
FD_SET(sockfd,&wmask);
rmask = wmask;

timeout.tv_sec = 10;
timeout.tv_usec = 0;
status = fcntl(sockfd,F_GETFL);
fcntl(sockfd,F_SETFL,status|O_NONBLOCK);
temp = connect(sockfd,(struct sockaddr *)&saddr,sizeof(saddr));

if (temp<0)
{
flags = select(sockfd+1,&rmask,&wmask,(fd_set *)NULL,&timeout);
if (flags <= 0)
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}

if (FD_ISSET(sockfd,&rmask)||FD_ISSET(sockfd,&wmask))
{
if (FD_ISSET(sockfd,&rmask)&&FD_ISSET(sockfd,&wmask))
{
len = sizeof(error);
temp = getsockopt(sockfd,SOL_SOCKET,SO_ERROR,&error,&len);
if ((temp != 0)||(error != 0))
{
close(sockfd);
pthread_mutex_lock(&mut);
k++;
continue;
}
}
}
}

bzero(buf,BUF_LEN);
fcntl(sockfd,F_SETFL,status);
if ((len = read(sockfd,buf,BUF_LEN)) >= 0)
{
if (strncmp(buf,"220",3)==0)
{
printf("%s -- %s",inet_ntoa(saddr.sin_addr),buf);
write(sockfd,"user ftp\n",9);
if ((len = read(sockfd,buf,BUF_LEN)) >= 0)
{
if (strncmp(buf,"331",3) == 0)
{
write(sockfd,"pass fzk@\n",10);
if ((len = read(sockfd,buf,BUF_LEN)) >= 0)
{
if (strncmp(buf,"230",3) == 0)
{
printf("%d find a anonymous ftp at %s\n",pthread_self(),inet_ntoa(saddr.sin_addr));
fflush(stdout);
close(sockfd);
}
}
}
}
}
}

close(sockfd);
pthread_mutex_lock(&mut);
k++;
}
pthread_mutex_unlock(&mut);
pthread_exit(NULL);
}

int create_thread()
{
int i=0,temp;
pthread_t threadid[THREAD_MAX_NUM];
for (i=0;i<THREAD_MAX_NUM;i++)
{
pthread_mutex_lock(&mut);
if (k > endIP)
{
pthread_mutex_lock(&mut);
break;
}

pthread_mutex_unlock(&mut);
pthread_create(&thread[i],NULL,scanhost,NULL);
pthread_mutex_lock(&mut);
k++;
pthread_mutex_unlock(&mut);
}

temp = i;

for (i=0;i<temp;i++)
{
pthread_join(thread[i],NULL);
printf("Thread %d down\n",i);
}

return i;
}

int main(int argc,char *argv[])
{
int i=0,thnum;
if (argc != 3)
{
printf("Usage:%s startIP endIP\n",argv[0]);
exit(-1);
}

startIP=ntohl(inet_addr(argv[1]));
endIP=ntohl(inet_addr(argv[2]));
if (startIP > endIP)
{
k = startIP;
startIP = endIP;
endIP = k;
}
k= startIP;
printf("Create %d thread for scan host\n",THREAD_MAX_NUM);
pthread_mutex_init(&mut,NULL);
thnum = create_thread();
printf("down\n");
}



学习人家代码是主要,当然也可以用来。。。
----------------------------------------------------------
送给你我思念的手
愿它能传递我的温柔
与暖暖的问候
解开你眉间的忧
赶走你心中的愁
让所有幸福与快乐
从此在你的身旁停留

编辑 删除 发表时间发表于 2002-07-16.17:36:22   MSIE 5.01 Windows 2000IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:18
货币:99999
体力:100
来源:不知道
总发帖数:2602
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

不错不错
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-07-16.17:45:36   MSIE 5.01 Windows 2000IP: 已记录
far帅哥哦
级别:中级站友
威望:0
经验:0
货币:387
体力:42.4
来源:61.174.144.*
总发帖数:60
注册日期:2002-07-03
查看 邮件 主页 QQ 消息 引用 复制 下载 

不好
代码没注释,而且编写的风格太差,看起来很累
代码可重用性太差

编辑 删除 发表时间发表于 2002-07-16.17:48:39   MSIE 6.0 Windows 2000IP: 已记录
神仙姐姐美女哟
级别:风云使者
威望:0
经验:9
货币:3051
体力:32
来源:紫禁城
总发帖数:1081
注册日期:2002-01-28
查看 邮件 主页 QQ 消息 引用 复制 下载 

唉 还得学编程
头又疼了 ~
----------------------------------------------------------
淡泊明志,宁静至远;请别害我,我是好人!

编辑 删除 发表时间发表于 2002-07-16.18:32:06   MSIE 5.0 Windows 98IP: 已记录
匿名帅哥哦
级别:老 站 友
威望:0
经验:0
货币:1524
体力:90.8
来源:北京
总发帖数:296
注册日期:2002-03-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

fcntl(sockfd,F_SETFL,status|O_NONBLOCK);
这一行是不是有点问题?

编辑 删除 发表时间发表于 2002-07-16.23:25:58   MSIE 5.0 Windows 98IP: 已记录
MIXTER帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2007
体力:78.6
来源:61.147.218.*
总发帖数:529
注册日期:2001-08-12
查看 邮件 主页 QQ 消息 引用 复制 下载 

原文由 far 发表:
不好
代码没注释,而且编写的风格太差,看起来很累
代码可重用性太差

嗯,你果然是高手,
厉害,
佩服佩服!

编辑 删除 发表时间发表于 2002-07-18.21:29:36   MSIE 5.0 Windows 98IP: 已记录
spark帅哥哦
级别:长 老 级
威望:4
经验:0
货币:723
体力:34.5
来源:江苏
总发帖数:780
注册日期:2001-06-26
查看 邮件 主页 QQ 消息 引用 复制 下载 

原文由 MIXTER 发表:

嗯,你果然是高手,
厉害,
佩服佩服!


忽忽,我也同意此观点,,,
----------------------------------------------------------
送给你我思念的手
愿它能传递我的温柔
与暖暖的问候
解开你眉间的忧
赶走你心中的愁
让所有幸福与快乐
从此在你的身旁停留

编辑 删除 发表时间发表于 2002-07-27.17:39:35   MSIE 5.01 Windows 2000IP: 已记录
zzzjjj帅哥哦
级别:新手上路
威望:0
经验:0
货币:129
体力:31.3
来源:211.154.89.*
总发帖数:5
注册日期:2002-07-16
查看 邮件 主页 QQ 消息 引用 复制 下载 

编程竟然不写注释?!显然不是好习惯,再过几个月你自己重新看也会很吃力的

编辑 删除 发表时间发表于 2002-07-27.18:39:53   MSIE 6.0 Windows XPIP: 已记录
黑不容缓帅哥哦
级别:长 老 级
威望:0
经验:0
货币:2588
体力:100
来源:广东
总发帖数:710
注册日期:2002-07-03
查看 邮件 主页 QQ 消息 引用 复制 下载 

我也看不明……一点点!
----------------------------------------------------------
是吗??真的!
<marquee behavior="alternate" bgcolor="#0000FF" style="color: #FF0000">我是天空的一片云 偶而投影在你的波心 你无须诧异 更无须惊喜 在转瞬间消失了踪影 你我相逢在黑夜的海上 你有你的 我有我的方向 你记得也好 最好你忘掉 在这交会时互放的光彩</marquee>


编辑 删除 发表时间发表于 2002-07-27.20:12:21   MSIE 5.0 Windows 98IP: 已记录
ANICH帅哥哦
级别:高级站友
威望:0
经验:0
货币:551
体力:19.7
来源:ANICH
总发帖数:190
注册日期:2002-02-22
查看 邮件 主页 QQ 消息 引用 复制 下载 

大概这人写的是“绝对最终版”吧,他自己不看,也不让别人看~

也可能是为了锻炼我们!
----------------------------------------------------------
永遠不說永遠!

编辑 删除 发表时间发表于 2002-07-28.10:16:51   MSIE 5.01 Windows 2000IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题