我正在使用 Scapy 使用以下代码嗅探网络流量:
2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys filter = sys.argv[1] def Responder(): def getPacket(pkt): if Raw in pkt: print pkt[Raw] return getPacket sniff(filter=filter, prn=Responder()) |
如果我只是浏览一个网站,这段代码就可以正常工作。
问题是,当我打开连接共享并尝试运行此脚本时,我收到以下错误:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Traceback (most recent call last): File"sniffy.py", line 1, in <module> from scapy.all import * File"/Library/Python/2.7/site-packages/scapy/all.py", line 25, in <module> from route import * File"/Library/Python/2.7/site-packages/scapy/route.py", line 162, in <module> conf.route=Route() File"/Library/Python/2.7/site-packages/scapy/route.py", line 22, in __init__ self.resync() File"/Library/Python/2.7/site-packages/scapy/route.py", line 31, in resync self.routes = read_routes() File"/Library/Python/2.7/site-packages/scapy/arch/unix.py", line 87, in read_routes ifaddr = scapy.arch.get_if_addr(netif) File"/Library/Python/2.7/site-packages/scapy/arch/__init__.py", line 36, in get_if_addr return socket.inet_ntoa(get_if_raw_addr(iff)) File"/Library/Python/2.7/site-packages/scapy/arch/pcapdnet.py", line 188, in get_if_raw_addr return i.get(ifname)["addr"].data File"dnet.pyx", line 990, in dnet.intf.get OSError: Device not configured |
我尝试在脚本顶部添加
我也遵循了这里的建议,并将第 34 行的 arch/unix.py 从 "
我正在运行 OSX 10.5.9 - 一直在努力让 scapy 正常工作 - 在安装 dnet/pcap 库后,我也得到了"OSError:设备未配置"。尝试用
替换 unix.py 中的第 34 行
仍然出现同样的错误。但是当我在 if 块的 "else" 部分更改第 37 行时:
2 3 4 5 6 7 8 | if scapy.arch.SOLARIS: f=os.popen("netstat -rvn") # -f inet elif scapy.arch.FREEBSD: f=os.popen("netstat -rnW") # -W to handle long interface names else: # f=os.popen("netstat -rn") # -f inet f=os.popen("netstat -rn | grep -v vboxnet") # -f inet |
像魅力一样工作!
我正在运行 OSX 10.10.3,并且一直在努力让 scapy 工作。我尝试在 scapy、scapy-real、dnet、dnet-real 上使用 pip install ,但我仍然遇到同样的错误。这真的很令人沮丧,所以我听从了上面 Adam B 的建议,并认为我会添加包含需要更改的 unix.py 文件的文件夹。
在 /usr/local/lib/python2.7/site-packages/scapy/arch/ 中使用 vim、nano 或其他文本编辑器打开 unix.py。
将第 37 行更改为
fs=os.popen("netstat -rn | grep -v vboxnet") # -f inet
它应该适合你。我仍然收到一个错误,即无法导入 python gnuplot package器并且也无法导入 PyX。
似乎 scapy 在使用桥接接口时遇到了麻烦。我遇到了同样的问题并修复了它,只是过滤了 Internet 共享网桥接口。在这种情况下,正确的解决方法是将相同的字符串替换为
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
我已经在mountainlion上成功安装了rbenv和rubybuild。运行rbenvinstall1.9.3-p392结束于:校验和不匹配:ruby-1.9.3-p392.tar.gz(文件已损坏)预期f689a7b61379f83cbbed3c7077d83859,得到1cfc2ff433dbe80f8ff1a9dba2fd5636它正在下载的文件看起来没问题,如果我使用curl手动下载文件,我会得到同样不正确的校验和。有没有人遇到过这个?他们是如何解决的? 最佳答案 tl:博士;使用浏览器从http://ftp.rub