我们可以将srp()函数用于第3层ICMP数据包吗?我看到当我们制作ICMP echo-r​​equest数据包并使用sr()发送/接收时,我们看不到它被发送出接口,因此没有来自目的地的响应.但是如果我们使用srp()函数,我们会看到相同的数据包响应.什么时候应该使用sr()和srp()?在文档中,它声明sr()将用于L3数据包,而srp()将用于L2?但在我的情况下,我不确定为什么sr()不适用于ICMP数据包?有些专家可以帮我理解吗?

如果总是需要“iface”参数,也有人可以告诉我.没有它,scapy将如何知道它应该发送数据包的接口?

情况1:使用iface作为参数的sr()函数:

sr(icmp,iface="eth0")

开始排放:

WARNING: Mac address to reach destination not found. Using broadcast.

Finished to send 1 packets.

^C

Received 0 packets, got 0 answers, remaining 1 packets

(, )

以上我没有看到IP 192.168.25.1的任何ICMP响应

情况2:没有iface的sr()函数:

sr(icmp)

.Begin emission:

......WARNING: Mac address to reach destination not found. Using broadcast.

.Finished to send 1 packets.

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C

Received 887 packets, got 0 answers, remaining 1 packets

(, )

如果你看到上面收到的数据包更多,但我没有看到任何ICMP响应.

情况3:使用srp()而不是sr()发送ICMP数据包:

srp(icmp,iface="eth0")

Begin emission:

Finished to send 1 packets.

*

Received 1 packets, got 1 answers, remaining 0 packets

(, )

这里我使用srp()函数而不是sr()函数,现在我看到ICMP echo请求已正确发送,我也收到了响应.

>>> icmp.show2()

###[ Ethernet ]###

dst: 02:00:00:11:01:03

src: 02:00:20:ee:64:01

type: 0x800

###[ IP ]###

version: 4L

ihl: 5L

tos: 0x0

len: 28

id: 1

flags:

frag: 0L

ttl: 64

proto: icmp

chksum: 0xc78c

src: 192.168.25.2

dst: 192.168.25.1

\options\

###[ ICMP ]###

type: echo-request

code: 0

chksum: 0xf7ff

id: 0x0

seq: 0x0

>>>

python构造icmp数据包_python – 在scapy中发送ICMP数据包并选择正确的接口相关推荐

  1. python网络通信传输的数据类型_Python网络编程中的网络数据和网络错误。

    上一个章节我们说的是套接字名和DNS.这篇文章我们主要解决下面问题. 我们在两台主机之间建立与关闭TCP流连接以及UDP数据报连接后.我们应该怎么准备我们需要传输的数据,该怎么对数据进行编码与格式化. ...

  2. mysql查询集合中的特定数据_快速查询List中指定的数据

    时间:2017/5/15 作者:李国君 题目:快速查询List中指定的数据 背景:当List中保存了大量的数据时,用传统的方法去遍历指定的数据肯定会效率低下,有一个方法就是类似于数据库查询那样,根据索 ...

  3. Pandas中xs()函数索引复合索引数据的不同切面数据(索引复合索引中需要的数据):索引列复合索引中的一个切面、索引行复合索引中的一个切面

    Pandas中xs()函数索引复合索引数据的不同切面数据(索引复合索引中需要的数据):索引列复合索引中的一个切面.索引行复合索引中的一个切面 目录

  4. laytpl遍历实体列表_Layui数据表格之获取表格中所有的数据方法

    数据表格中的数据是通过直接赋值的方式.这里实际上思想是反过来的,将拿数据表格中的所有数据,转换为layui数据表格拿原始数据去渲染数据表格. 1.创建一个作用域合适的js对象数组用来保存数据表格中的原 ...

  5. 获取layui表格单元格的数据_Layui数据表格之获取表格中所有的数据方法

    数据表格中的数据是通过直接赋值的方式.这里实际上思想是反过来的,将拿数据表格中的所有数据,转换为Layui数据表格拿原始数据去渲染数据表格. 1.创建一个作用域合适的JS对象数组用来保存数据表格中的原 ...

  6. python查询数据库后更新_python 实现数据库中数据添加、查询与更新的示例代码...

    一.前言 最近做web网站的测试,遇到很多需要批量造数据的功能:比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据:本次 ...

  7. python如何清空excel表格_python 删除excel表格重复行,数据预处理操作

    使用python删除excel表格重复行. # 导入pandas包并重命名为pd import pandas as pd # 读取Excel中Sheet1中的数据 data = pd.DataFram ...

  8. 数据包收发c语言程序,在C程序中发送ICMP数据包

    我正在尝试用C创建一个ICMP ping测试程序,但是在成功发送数据包时遇到了困难. sendto函数返回字节数和所有内容但实际上没有发送数据包.我已经在目标计算机上使用WireShark验证了这一点 ...

  9. python对大量数据去重_Python对多属性的重复数据去重实例

    python中的pandas模块中对重复数据去重步骤: 1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显 ...

  10. python输出键值列表_Python 键值分组或分区数据

    Python 使用键值分组或者分区数据,对分组后的数据做何种归约是没有限制的.数据中可能包含一些自变量或者因变量.可以通过自变量对数据进行分区,然后计算每个分区的各项汇总值,包括最大值.最小值.平均值 ...

最新文章

  1. 二维指针动态分配内存连续问题分析
  2. C语言——四字节对齐(4对齐后是4, 5对齐后是8)
  3. 强化学习(九)Deep Q-Learning进阶之Nature DQN
  4. word2013标题编号变成黑框
  5. 框架controller找不到_SpingBoot框架知识详解
  6. Hive的几种常见的数据导入方式
  7. Tensorflow ExponentialMovingAverage 详解
  8. ros的package.xml从format1到format2的修改方法
  9. 解决genemotion模拟器冲突导致的Android Studio无法启动ADB的问题
  10. php相关术语,PHP中一些专业术语、符号、函数[初学者学习PHP]
  11. 10. Have assignment operators return a reference to *this
  12. android手机更改手机密码,重要提醒:手机这个密码一定要改!
  13. 病毒木马查杀实战第012篇:QQ盗号木马之逆向分析
  14. 计算机信息安全相关文献,优秀计算机信息安全论文参考文献 计算机信息安全外文文献怎么找...
  15. JVM_0.5_小故事
  16. cf一直连接服务器,玩穿越火线显示连接服务器超时怎么回事?原因分析及解决方法...
  17. AutoCAD Civil 3D-加宽与超高
  18. 基于steam的游戏销量预测 — PART 2 — 文本分析
  19. 如何接入量化交易接口api进行交易?
  20. 2476 购买贺年卡

热门文章

  1. ITK实现DICM图像转换成BMP图像
  2. iOS 实时录音和播放
  3. Oracle11g软硬件基本要求,Oracle 11g的安装
  4. windows server 2008 R2开启ftp服务
  5. MYSQL查询语句大全集锦
  6. python下载豆丁文档_.NET - edu.docin.com豆丁校园
  7. Ubuntu 20.04美化及QQ、微信、ssh客户端安装
  8. 汽车称重软件系统配置(一)
  9. vsftpd配置不同用户不同目录
  10. 湖北工业大学计算机学院考研资料,湖北工业大学计算机学院836数据结构历年考研真题汇编.pdf...