|
作者: figLAB [figlab] 论坛用户 | 登录 |
我是一个新手,在这方面。 最近分析了一下NMAP等之类的扫描器的代码,但是发现都是用到LIBPCAP的,或者要么就是自己写驱动。我想问一下,如果写一个简单的扫描器能否不用LIBPCAP也不写驱动,但是这个扫描器能做到自定义IP包的内容。 谢谢! (注:不管是在*NIX或者MSWIN或者其它的操作系统都行:) |
地主 发表时间: 11/12 09:22 |
回复: 286 [unique] 版主 | 登录 |
在Winnt/2000/xp/2003下可以用SOCK_RAW发自已定义的IP包。 |
B1层 发表时间: 11/12 09:36 |
回复: figLAB [figlab] 论坛用户 | 登录 |
你说的这个我也已经从本网中技术文章里看到了! 通过 socket(AF_INET, SOCK_RAW, IPPROTO_UDP); setsockopt(socket, IPPROTO_IP, IP_HDRINCL, ...); sendto(...); 这个我已经试过了,可是用在TCP上总是出错!不知道这方法能用在IPPROTO_TCP上吗?! 还有就是,在*NIX下的方法.... |
B2层 发表时间: 11/12 11:38 |
回复: figLAB [figlab] 论坛用户 | 登录 |
再加一点吧!就是连MAC也可以修改,据说MSWIN2K以上的SOCK_RAW只能到IP头!有没有方法到以太头呢!? |
B3层 发表时间: 11/12 11:44 |
回复: ricky [ricky] 版主 | 登录 |
到以太头不行,只有写驱动了 |
B4层 发表时间: 11/12 16:34 |
回复: figLAB [figlab] 论坛用户 | 登录 |
mswin是要SOCK_RAW了,那么*nix下的又有什么好方法吗?! 对了,怎么找不到本站写的那个扫描器的代码的!?是不是没有公开呢!?怎么才能获得!? |
B5层 发表时间: 11/13 09:03 |
回复: TomyChen [quest] 版主 | 登录 |
回复: figLAB [figlab] 论坛用户 回复 发送 mswin是要SOCK_RAW了,那么*nix下的又有什么好方法吗?! 对了,怎么找不到本站写的那个扫描器的代码的!?是不是没有公开呢!?怎么才能获得!? *nix下多数也用SOCK_RAW得多,但我见得更多的是pcap,毕竟已经做得很好了。 最近我也在想过于半开scanner的东东,多多指教 为什么你不想用libpcap?是因为想学习还是觉得他不够好? |
B6层 发表时间: 11/13 10:47 |
回复: figLAB [figlab] 论坛用户 | 登录 |
呵,我也是刚开始研究而以,也想写个东东! 一起啦!呵呵:) libpcap以前我用过来写侦听数据包的东东,不是不喜欢用,总觉得老用别人的不怎么好,所以就想听听看大家是不是还有什么好方法! 驱动嘛,也太麻烦的,加上我还没有认真地去写过,所以,呵呵,想找个折中的方法啦! 不过,看来,以后还是得写驱动了! 在扫描器这方面如果哪位有什么高见的话也希望多指教!谢谢! |
B7层 发表时间: 11/13 12:55 |
回复: NetDemon [netdemon] ADMIN | 登录 |
引用: 真气人,socket本来就是UNIX上的东西,M$没花一分钱拿来改了用了,难道*UNIX会不能用SOCK_RAW么? 我个人认为用SOCK_RAW就够了 [此贴被 NetDemon(netdemon) 在 11月13日14时02分 编辑过] |
B8层 发表时间: 11/13 14:08 |
回复: figLAB [figlab] 论坛用户 | 登录 |
呵,老大不要这样气吧!我所说的不是谁拿谁的用,而是实现上的方法,就拿同是M$吧,可是w2k之前的版本就不能用SOCK_RAW来实现嘛!我也不知道*NIX也能用SOCK_RAW来实现,所以,呵,消气~~~~ |
B9层 发表时间: 11/13 16:30 |
回复: 286 [unique] 版主 | 登录 |
TCP上只所以出错,是因为socket(AF_INET, SOCK_RAW, IPPROTO_UDP);的第三个参数上。我这里一切正常。 SOCK_RAW可以在NT4。0上用。 利用半开扫描优点是速度快。但缺点也很多。建议大家不要用。 |
B10层 发表时间: 11/14 10:48 |
回复: figLAB [figlab] 论坛用户 | 登录 |
想再请教一下各位: linux内核自从2.2后就支持socket(PF_PACKET, SOCK_RAW, IPPROTO_RAW); [详见:http://www.linuxjournal.com/article.php?sid=4659] 不知道在BSD下是否也支持!? 我在FreeBSD R5下找不到这个东东!不知道其内核是否支持!? |
B11层 发表时间: 11/21 13:47 |
回复: NetDemon [netdemon] ADMIN | 登录 |
我日! 你知道Socket全名叫啥?叫BSD Scoket啊!!! socket本身就是BSD上的东西。所有其他操作系统(包括system v UNIX、 linux)上的socket都是从BSD上移植过去的。移植的话当然会因为一些原因无法作到全部都支持,只能是一个子集,所以才有“linux内核自从2.2后就支持socket。。。。。。”这样的问题。freebsd,openbsd,netbsd等等所有现行BSD版本,都是在其版本只有0.x的时候就支持全部的socket的。 你这问题简直就是和问,"Windiows操作系统有图形界面吗?"一抹一样 |
B12层 发表时间: 11/21 14:54 |
回复: redor [redor] 论坛用户 | 登录 |
推荐使用X-SCAN-CN不错哦! |
B13层 发表时间: 11/22 11:01 |
回复: figLAB [figlab] 论坛用户 | 登录 |
呵,老大,看来你还真的很来气也!我自认是初学不久,但是也不用这样吧!? TO redor兄:久养X-SCAN-CN的大名了,不过我现在是想写扫描器而不是用,不过不知道网上是否有其源码!?这样可以读一读! 其实,我已经从书上找到了,linux下用pf_packet,bsd用bpf,svr4用dlpi! 不过也谢谢俩位了! |
B14层 发表时间: 11/24 09:07 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号