当前位置: 技术问答>linux和unix
linux下的网络扫描器用什么层次的技术实现?
来源: 互联网 发布时间:2016-12-15
本文导语: RT 用原始套接字实现么? 还是用网络驱动实现? 网上说原始套接字效率很低,并且没有截获数据包的功能(传递的只是数据包的副本)。但是我觉得作为扫描器而言,截获数据包的功能并不是必须的。 写网络驱动...
RT
用原始套接字实现么?
还是用网络驱动实现?
网上说原始套接字效率很低,并且没有截获数据包的功能(传递的只是数据包的副本)。但是我觉得作为扫描器而言,截获数据包的功能并不是必须的。
写网络驱动程序的话,坦白的说,之前一直没有接触过Linux下的驱动开发,上手可能会很慢。但是因为是一个正规项目,对实现效果非常重视。
希望牛人们给点建议。
用原始套接字实现么?
还是用网络驱动实现?
网上说原始套接字效率很低,并且没有截获数据包的功能(传递的只是数据包的副本)。但是我觉得作为扫描器而言,截获数据包的功能并不是必须的。
写网络驱动程序的话,坦白的说,之前一直没有接触过Linux下的驱动开发,上手可能会很慢。但是因为是一个正规项目,对实现效果非常重视。
希望牛人们给点建议。
|
不足还真不知道,常用的ethereal 肯定是用了libpcap的。
你要效率肯定要去网络驱动那里去拿数据包。
我觉的你如果需要一个网络扫描的这么功能的应用程序,tcpdump就很合适,你自己定义参数。 最后对抓出来的包,进行数据分析。
如果对linux驱动不熟悉,对kernel那套api不熟悉,还是少打那方面的主意吧。。。
你要效率肯定要去网络驱动那里去拿数据包。
我觉的你如果需要一个网络扫描的这么功能的应用程序,tcpdump就很合适,你自己定义参数。 最后对抓出来的包,进行数据分析。
如果对linux驱动不熟悉,对kernel那套api不熟悉,还是少打那方面的主意吧。。。