第一次海报,所以如果我做错了什么,我道歉!
所以我正在尝试使用Raspberry Pi设置无线网状网络,使用Edimax EW-7811Un WLAN适配器和batman-adv协议.
我尝试过以下基本设置指南:
http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide
http://mindofdes.blogspot.co.uk/2013/ 02 /覆盆子-PI-raspbian-无线and.html
不幸的是,当我到达需要从另一个节点ping一个节点时,我得到
'目标主机无法访问'.
运行'batctl o'命令显示'范围内没有蝙蝠侠节点',但是当运行'iwconfig'时,两个节点似乎都与我设置的网络相关联,当运行'iwlist wlan0 scan'时,网络我'设置在两个节点上显示为单元格.
我现在不知道如何继续.我已经阅读了一些关于linux wlan适配器驱动程序的临时支持问题的文章.我的适配器正在使用RTL8192CU驱动程序.这可能是问题的原因吗?
任何帮助将非常感激.如果您有任何需要,请告诉我.
Ps我看了下面的帖子,但遗憾的是没有帮助:
Raspberry Pi ad-hoc网络
编辑:/ etc/network/interfaces的内容:
两个当前设置节点都具有相同的内容:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Run Code Online (Sandbox Code Playgroud)
编辑:两个节点的/etc/wpa_supplicant/wpa_supplicant.conf的内容:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Run Code Online (Sandbox Code Playgroud)
编辑:两个节点的ifconfig,iwconfig和路由:
节点1
ifconfig
wlan0 Link encap: Ethernet HWaddr 80:1f:02:9b:bc:6c
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:1 overruns:0 frame:0
TX …Run Code Online (Sandbox Code Playgroud) 我试图了解无线在 linux 中的工作。我从 wpa_supplicant、hostapd 应用程序开始,借助它们的文档和源代码。了解了以下流程和基本功能:
我理解了上述软件流程,在我的探索中,我了解到为了为开发人员提供自由,MAC 层是在软件中实现的(流行的实现 mac80211)。
在所有情况下都是这样吗?如果是这样,softMAC 和 hardMAC 的优缺点是什么?内核中的 cfg80211 接口是否直接与驱动程序通信?谁以及如何与 mac80211 进行通信?
提前致谢。
是否可以通过编程方式从 Android 设备获取无线电资源控制 (RRC) 状态,如果任何可用的公共 API 或隐藏的 API 也可以工作?
我已经使用 python + scapy 编写了一个无线探针嗅探器。我想在 openwrt 路由器中使用这个脚本。
每次它从附近的设备捕获探测请求时,都会将信息发送到 Web 服务。(mac、电源和探头)。
我的问题是CPU的高消耗。该脚本在我的笔记本电脑上运行得很好(它需要 50-70% 的 cpu),但是当我在 openwrt 路由器(400mhz cpu,16 ram)中运行它时,它需要 99%。这是 scapy 中的一个众所周知的错误,即高负载丢失数据包(我同时测试了笔记本电脑和路由器中的脚本,路由器没有捕获空中所有可用的数据包)
我已经对代码做了一些优化,但我认为还有更多的改进空间。
这是脚本。
#!/usr/bin/python
from scapy.all import *
import time
import thread
import requests
from datetime import datetime
PROBE_REQUEST_TYPE=0
PROBE_REQUEST_SUBTYPE=4
buf={'arrival':0,'source':0,'dest':0,'pwr':0,'probe':0}
uuid='1A2B3'
def PacketHandler(pkt):
global buf
if pkt.haslayer(Dot11):
if pkt.type==PROBE_REQUEST_TYPE and pkt.subtype == PROBE_REQUEST_SUBTYPE:
arrival= int(time.mktime(time.localtime()))
try:
extra = pkt.notdecoded
except:
extra=None
if extra!=None:
signal_strength = -(256-ord(extra[-4:-3]))
else:
signal_strength = -100
source = pkt.addr2
dest= pkt.addr3
pwr=signal_strength
probe=pkt.getlayer(Dot11).info
if buf['source']!=source …Run Code Online (Sandbox Code Playgroud) 我试图找出如何列出Python中所有可用的无线网络.我使用的是Windows 8.1.
有没有我可以调用的内置函数,还是通过库?
请告诉我打印列表的代码.
假设,我想为我的应用程序保留一些不可序列化的数据,用户可以跨应用程序访问这些数据并与之交互。例如,连接的设备(蓝牙、无线局域网)、媒体流等。我想知道在使用 Redux 范式时将这些数据放在哪里?
伪代码:
订阅的正常生命周期可能如下所示:
Subscription connection = instance.connect(device, request).listen();
...
connection.send(data);
...
data = connection.read();
...
connection.unsubscribe();
Run Code Online (Sandbox Code Playgroud)
应用商店可能看起来像这样:
店铺:
{
username: '',
friends:[], <--- Pulled from the server with async middleware
connections:[], <--- Connections data here ???
}
Run Code Online (Sandbox Code Playgroud)
但是我会继续说,这样的设备订阅或媒体流是不可序列化的,因此将它们保存在 Redux Appstate 中是不合适的。
而且我知道,例如对于服务器请求,鼓励使用中间件。因此,对于用户的朋友,可以编写异步操作以在用户登录时从服务器中提取朋友的用户名。但是状态中的设备 id 不会这样做,因为人们必须实际与应用程序中的设备连接流进行交互。
那么编写一个单独的中间件是否是一种可以接受的保存这些数据的方式呢?这里的常见做法是什么?
我可能已经做了一些更改我的设备权限的操作,因为我收到错误:"tcpdump: en0: You don't have permission to capture on that device"。TCP 部分无关紧要,因为我在使用设备时遇到问题bpf。我尝试将权限恢复为默认值,并将它们设置为如下所示,但我仍然遇到问题sudo。
我已重置权限并重新启动多次。另外,我的笔记本电脑被更换了,硬盘是唯一被转移的东西。
zjam@ZimSec:~$ tcpdump -i en0
tcpdump: en0: You don't have permission to capture on that device
((cannot open BPF device) /dev/bpf0: Permission denied
)
zjam@ZimSec:~$ sudo tcpdump -i en0
tcpdump: en0: You don't have permission to capture on that device
((cannot open BPF device) /dev/bpf0: Permission denied)
0 crw-rw---- 1 root access_bpf 23, 0 Aug 22 13:27 bpf0
0 crw-rw---- 1 root …Run Code Online (Sandbox Code Playgroud) QT有没有用于检测无线网络的API?如果没有,是否还有其他跨平台检测无线网络的方法?
我有adb无线连接工作用于在eclipse中调试应用程序,但我遇到的问题是使用USB电缆连接到附件的应用程序.
该应用程序设计为在插入附件时启动,因此我建立了我的ADB连接,然后在eclipse,代码加载等上运行调试,现在当我在应用程序中插入附件启动并运行但失去与eclipse的通信.所以我无法调试!
我正在编写一个程序做一件事,它找出了wifi连接的当前链接速度并实时报告给用户.我遇到的问题是它似乎无法找出当前的链接速度,只能找到设备的最大链接速度(300 Mbps).我写这个的原因是我有一个问题,周期性的链接速度将急剧下降(低至1-2 Mbps),我希望能够看到何时发生.使用此代码,它将简单地给出适配器支持的最大速度,而不是连接的当前链接速度.
private void update(object state)
{
System.Net.NetworkInformation.NetworkInterface[] nics = null;
nics = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
long speed = 0;
string adapter = "";
foreach (System.Net.NetworkInformation.NetworkInterface net in nics)
{
if (net.Name.Contains("Wireless") || net.Name.Contains("WiFi") || net.Name.Contains("802.11") || net.Name.Contains("Wi-Fi"))
{
speed = net.Speed;
adapter = net.Name;
break;
}
}
string temp;
if (speed == 0)
{
temp = "There is currently no Wi-Fi connection";
}
else
{
temp = "Current Wi-Fi Speed: " + (speed / 1000000) + "Mbps on " + …Run Code Online (Sandbox Code Playgroud) wireless ×10
wifi ×3
android ×2
python ×2
accessory ×1
adb ×1
adhoc ×1
asynchronous ×1
bpf ×1
c# ×1
c++ ×1
linux-kernel ×1
macos ×1
mesh-network ×1
networking ×1
qt ×1
qt4 ×1
raspberry-pi ×1
redux ×1
scapy ×1
store ×1
stream ×1
tcpdump ×1
usb ×1
wireshark ×1