根据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中启用混杂模式相关推荐

  1. 火狐启用falsh_如何在Firefox中启用暗模式

    火狐启用falsh Firefox will soon begin respecting Windows 10's dark app mode setting. But you can enable ...

  2. android builder模式 插件,如何在Kotlin中实现Builder模式?

    首先,在大多数情况下,您不需要在Kotlin中使用构建器,因为我们有默认和命名参数 . 这使您可以写 class Car(val model: String? = null, val year: In ...

  3. linux打开开发者权限,在UOS系统中关闭开发者模式和在UOS个人版中打开开发者模式...

    本文介绍在UOS系统中关闭(退出)开发者模式的方法和在UOS个人版中打开开发者模式的方法. 声明 UOS官方设定是开启开发者模式的过程不可逆,如果需要退出就只能重装(或者还原到开启开发者模式以前). ...

  4. linux查看图像大小_如何在Linux上调整一批图像的大小?

    linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...

  5. css在兼容模式下无法引用_如何在CSS中使用深色模式

    css在兼容模式下无法引用 by Frank Lämmer 由FrankLämmer 如何在CSS中使用深色模式 (How to get dark mode working with CSS) I h ...

  6. 如何在Safari Mac中启用暗黑模式?

    长时间在Safari浏览器上的在线时间会使您感到疲倦或使您的眼睛更加疲劳.而且,如果您在黑暗中或夜晚浏览互联网,则可能会伤害您的眼睛并可能导致黑眼圈.但是,如果您降低亮度并在Safari浏览器中启用暗 ...

  7. 如何在 Matlab 中启用 UTF-8 编码

    如何在 Matlab 中启用 UTF-8 编码 文章目录 定位问题 为什么应该使用 UTF-8 怎么让 Matlab 使用 UTF-8 一点吐槽 [注意]最后更新于 October 12, 2020, ...

  8. 用ARP探测网络中的混杂模式节点

    用ARP探测网络中的混杂模式节点 作者:Refdom 由于sniffer的危害,检测网络中是否存在sniffer也非常重要.Anti-Sniff就相应地产生,来检测网络中的sniffer. 检测sni ...

  9. w10睡眠的计算机如何启动,如何在Windows10中启用或禁用允许混合睡眠

    如何在Windows10中启用或禁用允许混合睡眠 启用或禁用Windows10中允许混合睡眠的方法 在转到"允许混合睡眠"选项之前,我们将尝试了解什么是睡眠的基本术语?当用户希望离 ...

最新文章

  1. python图片-利用python进行识别相似图片(一)
  2. Java程序员从笨鸟到菜鸟之(八十八)跟我学jquery(四)JQuery框架操作元素的属性与样式
  3. CO模块之利润中心会计
  4. java面向对象内存分析
  5. 2021富途校招后台C++
  6. 采集过程中遇到的利器
  7. gitlab使用SSH无法下载
  8. MySQL 基本语法
  9. H5播放flv视频流
  10. 关于json压缩(原始几十个MB大小)传输到安卓性能测试
  11. 电脑ping手机查看ARP抓包
  12. 手游运营基础知识大全
  13. mysql保存特殊表情符_mysql 存储表情或者特殊符号
  14. 毕业设计之甘特图制作
  15. 第56章 SQL UCASE() 函数教程
  16. 【操作系统知识】段页式存储管理
  17. C语言 用switch语句算工资
  18. 【代码】第11章 APP的爬取,appium打开微信朋友圈
  19. 指南针的实现代码两种方法,怎么用
  20. 编译openwrt n2n遇到错误

热门文章

  1. 利用顺序栈解决括号匹配问题(c++)-- 数据结构
  2. 解决Amlogic S905或S9xxx在安装Armbian_20.02.0卡logo或无反应的方法
  3. VScode输出中文乱码的解决方法------测试过可以用
  4. git:致命的:无法从远程存储库读取
  5. 如何忽略SVN目录?
  6. win10电脑一开机提示拒绝访问怎么办
  7. java中有哪几种访问修饰符_Java语言中有4种访问修饰符
  8. 华为智慧屏云会议怎么操作_会议室预定系统有哪些?怎么操作
  9. 树莓派python安装xlwt_利用python包(xlrd和xlwt)处理excel
  10. c语言 指针_C语言野指针以及非法内存操作