关闭

网卡混杂模式介绍与设置

标签: 网卡工作模式混杂模式混杂模式设置linux网卡设置
5264人阅读 评论(0) 收藏 举报
分类:

1.混杂模式介绍

混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。简单的讲,混杂模式就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址的。当网卡处于这种”混杂”方式时,该网卡具备”广播地址”,它对所有遇到的每一个数据帧都 产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。

2.网卡工作模式

网卡具有如下的几种工作模式:
1) 广播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。
2)多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。
3)直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己 Mac地址的帧。
4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。

网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据包这样就可以到达对于网络信息监视捕获的目的。

3.Linux下网卡混杂模式设置方法

1)命令实现

set: ifconfig eth0 promisc 
unset: ifconfig eth0 -promisc

2)程序实现

/*
 * param: @intf_name -- interface name, exp: eth0 
 * @sock -- socket file descriptor
 */
void set_card_promisc(char *intf_name, int sock)
{
    struct ifreq ifr;

    strncpy(ifr.ifr_name, intf_name, strlen(intf_name) + 1);

    if (ioctl(sock, SIOCGIFFLAGS, &ifr) == -1) {
        error_and_exit("ioctl", 2); 
    }

    ifr.ifr_flags |= IFF_PROMISC;

    if (ioctl(sock, SIOCSIFFLAGS, &ifr) == -1) {
        error_and_exit("ioctl", 3); 
    }
}
4
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

网卡混杂模式Promiscuous与linux上混杂模式的设置

混杂模式 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。 一般来说,混杂模式不会影...
  • bytxl
  • bytxl
  • 2015-07-13 14:44
  • 5222

网卡混杂模式

前言使用原始套接字, 练习网卡混杂模式, 封装了一个UI. 取到IP数据, 用IP头, TCP头, UDP头,ICMP头按照定义进行了读取和显示. 可以分别监听TCP,UDP,ICMP数据 ...
  • LostSpeed
  • LostSpeed
  • 2016-04-10 10:58
  • 912

ubuntu 设置网卡为混杂模式 以及网络配置命令

1、 ifconfig eth0 promisc 设置eth0为混杂模式。 ifconfig eth0 -promisc 取消它的混杂模式   botnet@botnet-vi...
  • wu560130911
  • wu560130911
  • 2014-05-05 19:33
  • 2884

使用 网卡混杂模式 编写网络抓包程序

使用 网卡混杂模式 编写网络抓包程序 http://hi.baidu.com/widebright/item/a07ac9a5950fb4db5bf191ce ...
  • oMingZi12345678
  • oMingZi12345678
  • 2014-01-05 22:23
  • 2656

linux下查看网卡是否是混杂模式及ifconfig命令

1使用ifconfig命令可查看当前网卡是否设置为混杂模式 [zhaihf@localhost~]$ ifconfig eth0      Linkencap:Ethernet  HWaddr 00:...
  • u011956172
  • u011956172
  • 2013-11-14 15:28
  • 10422

wireshark混杂模式

通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主机的数据包 这是为什么呢?即主机A发送一个数据包给主机B,我作为主机C怎么也能截获这个数据包呢,原理是什么?我的网卡为什么...
  • mukami0621
  • mukami0621
  • 2017-11-27 15:52
  • 132

配置xen上VM混杂模式,使其能捕获物理网络流量

本文目的:配置VM和xen相应的物理网卡(pif)和虚拟网卡(vi
  • lawlietwf
  • lawlietwf
  • 2014-11-14 22:29
  • 1835

设置网卡混杂模式

有时候为嗅探到网络上的数据,需要将网卡设置到混杂模式。进入该模式将网络上的数据一并抓获,为此在设置nic的混杂模式的时候有诸多方法?通过shell命令来实现:ifconfig eth1 promisc...
  • lubing20044793
  • lubing20044793
  • 2014-06-11 21:48
  • 537

设置网卡混杂模式

网卡混杂模式的设置可以通过下面的命令来进行设置: root@dell-desktop:/home/dell/libppf/bin# ifconfig eth0 eth0      Link encap...
  • mydriverc2
  • mydriverc2
  • 2013-07-06 21:37
  • 519

设置网卡为混杂模式

转自:http://blog.chinaunix.net/uid-8048969-id-3417143.html
  • bingo_boy
  • bingo_boy
  • 2014-07-03 15:32
  • 474
    个人资料
    • 访问:176699次
    • 积分:3177
    • 等级:
    • 排名:第12549名
    • 原创:115篇
    • 转载:23篇
    • 译文:6篇
    • 评论:108条
    最新评论