linux socket 模式,pythonsockets:如何在linux中启用混杂模式
根据python文档,我们可以构建简单的嗅探器,比如:import socket
# the public network interface
HOST = socket.gethostbyname(socket.gethostname())
# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
# receive all packages
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
# receive a package
print s.recvfrom(65565)
# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
对于windows平台,但在linux中socket.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)不起作用。在
对于linux平台,这个例子会是怎样的呢?我如何在Linux中设置混杂模式?在
编辑
我有个消息:
^{pr2}$
当我做了一个@Christian James Bell的代码时:import socket
def sniffer(count, bufferSize=65565, showPort=False, showRawData=False):
# the public network interface
HOST = socket.gethostbyname(socket.gethostname())
# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.IPPROTO_IP)
# prevent socket from being left in TIME_WAIT state, enabling reuse
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, 0))
# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
# receive all packages
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
for i in range(count):
# receive a package
package = s.recvfrom(bufferSize)
printPacket(package, showPort, showRawData)
# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
def printPacket(package, showPort, showRawData):
# index values for (data, header) tuple
dataIndex = 0
headerIndex = 1
# index values for (ipAddress, port) tuple
ipAddressIndex = 0
portIndex = 1
print('IP:', package[headerIndex][ipAddressIndex])
if(showPort):
print('Port:', package[headerIndex][portIndex])
print ('') #newline
if(showRawData):
print ('Data:', package[dataIndex])
sniffer(count=10,showPort=True,showRawData=True)
有人知道怎么回事吗?在
linux socket 模式,pythonsockets:如何在linux中启用混杂模式相关推荐
- 火狐启用falsh_如何在Firefox中启用暗模式
火狐启用falsh Firefox will soon begin respecting Windows 10's dark app mode setting. But you can enable ...
- android builder模式 插件,如何在Kotlin中实现Builder模式?
首先,在大多数情况下,您不需要在Kotlin中使用构建器,因为我们有默认和命名参数 . 这使您可以写 class Car(val model: String? = null, val year: In ...
- linux打开开发者权限,在UOS系统中关闭开发者模式和在UOS个人版中打开开发者模式...
本文介绍在UOS系统中关闭(退出)开发者模式的方法和在UOS个人版中打开开发者模式的方法. 声明 UOS官方设定是开启开发者模式的过程不可逆,如果需要退出就只能重装(或者还原到开启开发者模式以前). ...
- linux查看图像大小_如何在Linux上调整一批图像的大小?
linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...
- css在兼容模式下无法引用_如何在CSS中使用深色模式
css在兼容模式下无法引用 by Frank Lämmer 由FrankLämmer 如何在CSS中使用深色模式 (How to get dark mode working with CSS) I h ...
- 如何在Safari Mac中启用暗黑模式?
长时间在Safari浏览器上的在线时间会使您感到疲倦或使您的眼睛更加疲劳.而且,如果您在黑暗中或夜晚浏览互联网,则可能会伤害您的眼睛并可能导致黑眼圈.但是,如果您降低亮度并在Safari浏览器中启用暗 ...
- 如何在 Matlab 中启用 UTF-8 编码
如何在 Matlab 中启用 UTF-8 编码 文章目录 定位问题 为什么应该使用 UTF-8 怎么让 Matlab 使用 UTF-8 一点吐槽 [注意]最后更新于 October 12, 2020, ...
- 用ARP探测网络中的混杂模式节点
用ARP探测网络中的混杂模式节点 作者:Refdom 由于sniffer的危害,检测网络中是否存在sniffer也非常重要.Anti-Sniff就相应地产生,来检测网络中的sniffer. 检测sni ...
- w10睡眠的计算机如何启动,如何在Windows10中启用或禁用允许混合睡眠
如何在Windows10中启用或禁用允许混合睡眠 启用或禁用Windows10中允许混合睡眠的方法 在转到"允许混合睡眠"选项之前,我们将尝试了解什么是睡眠的基本术语?当用户希望离 ...
最新文章
- python图片-利用python进行识别相似图片(一)
- Java程序员从笨鸟到菜鸟之(八十八)跟我学jquery(四)JQuery框架操作元素的属性与样式
- CO模块之利润中心会计
- java面向对象内存分析
- 2021富途校招后台C++
- 采集过程中遇到的利器
- gitlab使用SSH无法下载
- MySQL 基本语法
- H5播放flv视频流
- 关于json压缩(原始几十个MB大小)传输到安卓性能测试
- 电脑ping手机查看ARP抓包
- 手游运营基础知识大全
- mysql保存特殊表情符_mysql 存储表情或者特殊符号
- 毕业设计之甘特图制作
- 第56章 SQL UCASE() 函数教程
- 【操作系统知识】段页式存储管理
- C语言 用switch语句算工资
- 【代码】第11章 APP的爬取,appium打开微信朋友圈
- 指南针的实现代码两种方法,怎么用
- 编译openwrt n2n遇到错误
热门文章
- 利用顺序栈解决括号匹配问题(c++)-- 数据结构
- 解决Amlogic S905或S9xxx在安装Armbian_20.02.0卡logo或无反应的方法
- VScode输出中文乱码的解决方法------测试过可以用
- git:致命的:无法从远程存储库读取
- 如何忽略SVN目录?
- win10电脑一开机提示拒绝访问怎么办
- java中有哪几种访问修饰符_Java语言中有4种访问修饰符
- 华为智慧屏云会议怎么操作_会议室预定系统有哪些?怎么操作
- 树莓派python安装xlwt_利用python包(xlrd和xlwt)处理excel
- c语言 指针_C语言野指针以及非法内存操作