兴海北路

---男儿仗剑自横行
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

  • 随笔 - 85
  • 文章 - 0
  • 评论 - 17
  • 引用 - 0

常用链接

留言簿(6)

随笔分类

随笔档案

收藏夹

全是知识啊

搜索

  •  

最新评论

阅读排行榜

评论排行榜

匿名FTP站点扫描C语言源代码
作者: falcon   发表日期: 2006-08-22 09:21   复制链接



经过几天的调试和修改,比较稳定的匿名ftp站点扫描工具终于完成拉。
该扫描工具可以扫描指定IP段的ftp站点,大家可以把它改写来扫描其他的端口。甚至基于此结构写一个ftp搜索引擎的爬虫。过段时间,我再把爬虫的代码公布出来,暂时正在调试和修改中。

这些天弄得很累,呵呵,暂时只把源代码弄上来。有时间再做详细的解释。有问题在后面跟帖哦。

ftp扫描的核心代码:ffs.c


Code:

[Ctrl+A Select All]



自动扫描多个IP段的脚本: affs


Code:

[Ctrl+A Select All]



这个可以用来终止上面的扫描过程: kffs


Code:

[Ctrl+A Select All]



下面是兰大校园网内的IP段: ftpinfo.txt
Quote:

202.201.0.0 202.201.15.255;210.26.48.0 210.26.63.255;219.246.32.0 219.246.95.255;219.246.176.0 219.246.191.255;222.23.48.0 222.23.63.255;202.38.127.176 202.38.127.191;202.38.126.224 202.38.126.255


注意,每个段之间用分号分开哦,因为在affs脚本里头用到了这个分割符号。

下面这个可以在扫描过后的日志里头提取出ip地址: logtoip


Code:

[Ctrl+A Select All]




具体使用演示:

只用 ffs
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ gcc -lpthread -o ffs ffs.c
falcon@falcon:~/program/c/code/ftp/socket$ ./ffs 219.246.183.222 219.246.183.222
startIp = 219.246.183.222,3690379230
endIp = 219.246.183.222,3690379230
thread 0 create successed!
currentIp = 3690379230  219.246.183.222
220 Microsoft FTP Service
331 Anonymous access allowed, send identity (e-mail name) as password.
230 Anonymous user logged in.
221
<can login: 219.246.183.222>
Thread 0 down
Finish!




用 affs

Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./affs ftpinfo.txt fs.log
start time:2006年 08月 21日 星期一 21:38:01 CST
is scaning...



正在扫描,结束以后,我们可以获得扫描的一个日志文件fs.log

用logtofile脚本提取可以访问的ip地址
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./logtoip fs.log
202.201.0.237
202.201.0.243
202.201.1.126
202.201.3.82
202.201.3.99
202.201.6.125
202.201.7.17
202.201.8.125
202.201.13.65
202.201.13.118
202.201.13.139
202.201.13.149



最好,要是想结束扫描的话,用 kffs脚本
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./kffs
do you want to kill all ftp scan process?(y or n): y
杀死



另外,要是你想把你的测试结果发布,可以在日志里头提取出ip地址并放到html文件里头。下面是这么一个脚本:logtohtml


Code:

[Ctrl+A Select All]



为了让系统自动扫描所有的IP段,并保存为html文件发布出去,那么我们可以这么做。再写个脚本 updateftp,(把affs 和logtohtml放在同一目录下哦,还有updateftp也是)


Code:

[Ctrl+A Select All]



如果再加上crontab,我们就可以让系统自动扫描拉
Quote:

$crontab -e
00 12 * * * path/to/updateftp



ok,好啦
这里是演示的最终结果:
http://mirror.lzu.edu.cn/newftp/index.html

经过测试,扫描整个兰大校园网内的IP段,大概需要15钟左右。

对拉,需要提到的是,在用脚本的时候,记得先修改成可执行的哦,如:
Quote:

$chmod 755 path/to/shellscriptfile



参考资料太多拉,这里暂时不列举出来哦
翻了一大堆关于套接字和多线程编程的资料。我在其他的几个帖子里头贴出了其中的一些参考资料。

posted on 2008-03-14 16:04 随意门 阅读(934) 评论(-4)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理