当前位置:  技术问答>linux和unix

【高分】求如何监听本机的53端口

    来源: 互联网  发布时间:2016-07-03

    本文导语:        朋友让帮忙写一个程序,监听本机53端口的数据包,但是现在还不知道从哪下手,想请大家多多指点下 环境是linux,用c写。最好能有些例子给我参考  多谢大家了!!! | 把网卡设...

      朋友让帮忙写一个程序,监听本机53端口的数据包,但是现在还不知道从哪下手,想请大家多多指点下

环境是linux,用c写。最好能有些例子给我参考  多谢大家了!!!

|
把网卡设置成混杂模式,混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。然后就把所有收到的包根据端口过滤一下就好了,这个其实很多网络监听工具差不多,你可以找找看有没有源代码。

linux源代码的注释如下:
/**
* dev_set_promiscuity - update promiscuity count on a device
* @dev: device
* @inc: modifier
*
* Add or remove promsicuity from a device. While the count in the device
* remains above zero the interface remains promiscuous. Once it hits zero
* the device reverts back to normal filtering operation. A negative inc
* value is used to drop promiscuity on the device.
*/
设置网卡混杂模式的实现代码如下:

struct net_device *sniffer_dev = NULL;
int dev_flags = 0;

int init_module ( void ) /* 模块初始化 */
{
...... 

sniffer_dev = dev_get_by_name("eth0");
if (sniffer_dev != NULL)
{
dev_flags = 1;
dev_set_promiscuity(sniffer_dev, 1);
dev_put(sniffer_dev);
sniffer_dev = NULL;
}

......

return 0;
}

void cleanup_module(void)
{
......

if (dev_flags)
{
sniffer_dev = dev_get_by_name("eth0");
if (sniffer_dev != NULL)
{
dev_flags = 0;
dev_set_promiscuity(sniffer_dev, -1); /*注意此处的第二个参数*/
dev_put(sniffer_dev);
sniffer_dev = NULL;
}
}

......
}

|


监听本机53端口,这是保留端口。做DNS的吧,你本机上肯定有进程在监听,不能在本机再监听了吧。
如果想监听,用sock_raw在其他机器上监听你这台主机的包呗,但是由于原始套接字不能区分端口,你只能截获所有的包,然后在内存里再去处理端口判断等。

|
http://www.35oe.com/article/show.asp?id=1216&page=1
这个是讲Linux系统下的网络监听技术,应该有所帮助

|
http://blog.chinaunix.net/u2/62281/showart_1096746.html

linux sock_raw原始套接字编程,可以参考这篇

|
用tcpdump吧,可以直接抓包的!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分求解:如何开启LINUX中的telnet服务(23端口)
  • 高分请教iptables下传奇私服怎么做nat端口映射
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 谁参加过weblogic的证书考试,是否有经验可供参考?高分高分高高分
  • 哪里有JB6下载啊,高分相送,救命
  • 高分求救!我在uclinux上运行应用程序时出现内存分配错误,不知如何解决,解决者高分!!
  • 哪里去找中文的EJB文章?高分悬赏!
  • 有jsp的upload和download 代码么,高分相报!
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 高分寻求jsp代码(网上调查系统,新闻发布系统)就这点分了
  • 高分求购做饼图、线形图的源吗?
  • 关于linu下的中文输入.(高分:300)
  • 一个简单的问题,高分求助!!!
  • 高分求购jbulider6得注册码,企业版本,个人版本都要
  • Linux远程访问的问题,高分求教:)
  • 请问哪儿有Solaris8的光盘映像文件下载???高分相赠!!!
  • 高分求“Ration Rose”&"JBuilder6.0"&"VisualCafe"
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求购:linux和unix命令大全电子文档
  • 急救:关于BLOB数据类型---在线等待,高分相送!
  • 求UNIXWARE7.11的原版下载,高分相赠,在线等待!!!
  • 哪里去找中文的EJB文章?高分悬赏! iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3