Python scapy二层、三层发送接收数据包

这篇具有很好参考价值的文章主要介绍了Python scapy二层、三层发送接收数据包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

Linux环境:安装scapy, 执行scapy

安装scapy

yum install python3-pip (安装python3 pip)

pip3 install --upgrade pip

yum remove python-pip(删除pip)

pip3 install scapy (安装scapy)

Python scapy二层、三层发送接收数据包

 简介:

send                : Send packets at layer 3
sendp              : Send packets at layer 2

sr                     : Send and receive packets at layer 3
sr1                   : Send packets at layer 3 and return only the first answer

srp                   : Send and receive packets at layer 2
srp1                 : Send and receive packets at layer 2 and return only the first answer

send:在第3层发送数据包

sendp:在第2层发送数据包

sr:在第3层发送和接收数据包

sr1:在第3层发送数据包,只返回第一个响应包

srp:在第2层发送和接收数据包

srp1:在第2层发送和接收数据包,只返回第一个响应包文章来源地址https://www.toymoban.com/news/detail-466223.html

源码:

>>> sr(IP(dst="192.168.6.211")/ICMP())
Begin emission:
Finished sending 1 packets.
.*
Received 2 packets, got 1 answers, remaining 0 packets
(<Results: TCP:0 UDP:0 ICMP:1 Other:0>, <Unanswered: TCP:0 UDP:0 ICMP:0 Other:0>)
>>> sr1(IP(dst="192.168.6.211")/ICMP())
Begin emission:
Finished sending 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
<IP  version=4 ihl=5 tos=0x0 len=28 id=55498 flags= frag=0 ttl=64 proto=icmp chksum=0x131f src=192.168.6.211 dst=192.168.6.212 |<ICMP  type=echo-reply code=0 chksum=0xffff id=0x0 seq=0x0 |<Padding  load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>>
>>> 
>>> srp(Ether()/IP(dst="192.168.6.211"))
Begin emission:
Finished sending 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
(<Results: TCP:0 UDP:0 ICMP:1 Other:0>, <Unanswered: TCP:0 UDP:0 ICMP:0 Other:0>)
>>> srp1(Ether()/IP(dst="192.168.6.211"))
Begin emission:
Finished sending 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
<Ether  dst=00:0c:29:12:73:7e src=00:0c:29:e8:9c:dc type=IPv4 |<IP  version=4 ihl=5 tos=0xc0 len=48 id=59752 flags= frag=0 ttl=64 proto=icmp chksum=0x1ad src=192.168.6.211 dst=192.168.6.212 |<ICMP  type=dest-unreach code=host-prohibited chksum=0xfcf5 reserved=0 length=0 nexthopmtu=0 unused='' |<IPerror  version=4 ihl=5 tos=0x0 len=20 id=1 flags= frag=0 ttl=64 proto=hopopt chksum=0xebf1 src=192.168.6.212 dst=192.168.6.211 |>>>>
>>> 
>>> send(IP(dst="192.168.6.211")/ICMP())
.
Sent 1 packets.
>>> sendp(Ether()/IP(dst="192.168.6.211"))
.
Sent 1 packets.
>>>

到了这里,关于Python scapy二层、三层发送接收数据包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算:OpenStack 配置二层物理网卡为三层桥的接口

    目录 一、理论 1.OpenStack 二、实验 1. Linux系统修改网卡 2.OpenStack 配置二层物理网卡为三层桥的接口 (1)概念 OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布

    2024年02月04日
    浏览(35)
  • PC机通过二层交换机连接三层交换机

    步骤及提示: 1)首先配置两台主机的IP地址、掩码、网关 2)配置三层交换机 第1,在三层交换机上创建两个VLAN,分别是vlan 10和vlan 20。 配 置vlan 10的端口IP和掩码为192.168.10.1 255.255.255.0;配置vlan 20的端口IP和掩码为192.168.20.1 255.255.255.0。注意不要忘了no shutdown。 查看vlan:    

    2024年02月05日
    浏览(42)
  • 【以太网交换安全】--- 端口隔离运行原理及二层隔离三层通信实例配置讲解

    一般在 以太网交换网络 中为了 隔绝广播域 通常使用不同的vlan进行报文之间的二层隔离,但是网络随着网络规模不断扩大,业务种类也是百花齐放,我们如果还是使用之前的传统vlan那么会使用大量的vlan id并且运维工作也是十分繁重,为了满足种类如此繁多的需求,产生了

    2024年02月05日
    浏览(35)
  • 使用eNSP搭建基础IP网络 和 单交换机与VLAN分布实验(二层+三层)

    Hello, 好久不见。上学期因为个人原因一直没有更新(主要原因是上学期小小的摆了一下),这个学期我会继续在平台上分享我的学习经验。主要包括网络互联以及攻防的内容,也可能会更新深度学习相关的东西,主要就是看我到底有没有精力了哈哈。 好了,废话不多说,这

    2024年02月08日
    浏览(45)
  • eNSP第二篇:Eth-trunk,链路聚合,常用命令,二层链路聚合和三层链路聚合

    链路聚合:顾名思义,就是将多条链路聚合成一条链路,这条链路的带宽等于所有有效链路的总和;属于可靠性技术。 主要作用是:提高带宽,增加可靠性 在eNSP中,交换机是只可以启用二层的链路聚合,路由器中则可以将链路切换到第三层; interface Eth-trunk [id] //创建聚合口

    2024年02月10日
    浏览(39)
  • 【Python】构造数据包Scapy——网络扫描、攻击工具

    库 :是Python的一个库,独立运行的工具(在Linux中,将scapy当作一个独立的工具来使用,可以不依赖Python) 使用场景 :网络扫描、攻击工具 可以在自己程序中实现对网络数据包的发送、监听、解析,构建能够进行探测、扫描、攻击的网络工具。 Scapy是可以直接操作到数据包

    2024年02月03日
    浏览(37)
  • python 发送和接收post请求

    bottle是python的web框架,只需要引用一个 .py 文件即可,点击去下载页

    2024年02月15日
    浏览(36)
  • STM-32:USART串口协议、串口外设—数据发送/数据发送+接收

    通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统。比如STM32芯片里面集成了很多功能模块,如定时器计数、PWM输出、AD采集等等,这些都是芯片内部的电路,它们的配置寄存器、数据寄存器都在芯片里面,操作简单,直接读写就行。但是有些功能STM32内部没有

    2024年02月04日
    浏览(61)
  • 串口通信-发送和接收数据

    目录 通信方式 硬件电路 软件部分 USART外设(同步/异步收发器) 波特率 引脚复用 初始化基本流程 发送 接收 语言简述 常用的函数 使用的结构体 引脚模式 打印数据的三种方法 使用printf 在实际的串口中,只能发送二进制数,也就是十六进制的最直接数据。如果想发送字符,

    2024年02月12日
    浏览(57)
  • 本地模拟发送、接收RabbitMQ数据

    日常开发中,当线上RabbitMQ坏境还没准备好时,可在本地模拟发送、接收消息 Docker安装RabbitMQ 【SpringCloud】整合RabbitMQ六大模式应用(入门到精通) Spring RabbitMQ 配置多个虚拟主机(vhost)

    2024年02月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包