Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在监视器接口上接收到数据包,但不是主接口_Linux_Sockets_Udp_Wifi_Tcpdump - Fatal编程技术网

Linux 在监视器接口上接收到数据包,但不是主接口

Linux 在监视器接口上接收到数据包,但不是主接口,linux,sockets,udp,wifi,tcpdump,Linux,Sockets,Udp,Wifi,Tcpdump,我正在从头开始构建UDP数据包(包括802.11 MAC、LLC、IP和UDP报头),并使用LORCON将它们注入无线网络。接收主机有一个接口wlan0处于常规管理模式(但未连接到任何AP),我添加了一个子接口mon0在监控模式下运行: iw dev wlan0 interface add mon0 type monitor 观察监控界面显示数据包接收正确: $ sudo tcpdump -vei mon0 udp tcpdump: WARNING: mon0: no IPv4 address

我正在从头开始构建UDP数据包(包括802.11 MAC、LLC、IP和UDP报头),并使用LORCON将它们注入无线网络。接收主机有一个接口
wlan0
处于常规管理模式(但未连接到任何AP),我添加了一个子接口
mon0
在监控模式下运行:

iw dev wlan0 interface add mon0 type monitor
观察监控界面显示数据包接收正确:

$ sudo tcpdump -vei mon0 udp
tcpdump: WARNING: mon0: no IPv4 address assigned
tcpdump: listening on mon0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 65535 bytes
<time> <signal info> DA:Broadcast BSSID:... SA:... LLC, dsap SNAP (0xaa) Individual, ssap SNAP (0xaa) Command, ctrl 0x03: oui Ethernet (0x000000), ethertype IPv4 (0x0800): (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 53)
    10.0.0.1.1234 > 255.255.255.255.1234: UDP, length 17
值得一提的是,按照建议设置
net.ipv4.conf.all.rp_filter=0
没有任何效果。设置net.ipv4.ip_forward=1也不起作用。启用
net.ipv4.conf.all.log\u martians
不会在系统日志中产生任何输出

任何关于为什么这可能是最受欢迎的提示

FWIW,这台机器运行的是Ubuntu 12.04.3,但内核是3.5.7


编辑:我刚刚发现了一些有趣的东西:
tcpdump-I any
也不打印任何东西。只有在显式运行
tcpdump-imon0
时,我才能看到传入的数据包。为什么有些东西会被排除在
-i any
之外?

经过许多徒劳的实验后,我决定简单地将主界面置于监视器模式,并使用

iw dev wlan0 set type monitor
ip link set wlan0 promisc on
然后使用pcap提取问题中的数据包。增加了对pcap的依赖,但也比试图找出Linux内核中的数据包要容易得多。可以找到pcap的良好介绍

iw dev wlan0 set type monitor
ip link set wlan0 promisc on