作者: 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
|
參考資料太多拉,這里暫時不列舉出來哦
翻了一大堆關于套接字和多線程編程的資料。我在其他的幾個帖子里頭貼出了其中的一些參考資料。