Scapy常用操作和命令(2)

Scapy常用操作和命令(2)send 方法用来在 3 层发送报文 send IP dst 1 2 3 4 ICMP Sent1packets 使用 loop 参数循环发送 Ctrl C 终止 inter 表示发送时间间隔 send IP ICMP loop 1 inter 0 5 CSent



send方法用来在3层发送报文

>>> send(IP(dst=”1.2.3.4″)/ICMP())

.

Sent 1 packets.

使用loop参数循环发送(Ctrl+C终止),inter表示发送时间间隔

>>> send(IP()/ICMP(),loop=1,inter=0.5)

……^C

Sent 6 packets.

 

sendp方法用来在2层发送报文

>>> sendp(Ether()/IP(dst=”1.2.3.4″,ttl=(1,4)), iface=”eth1″)

….

Sent 4 packets.

>>> sendp(“I’m travelling on Ethernet”, iface=”eth1″, loop=1, inter=0.2)

…………….^C

Sent 16 packets.

 

sr1方法在3层发送报文并返回第一个响应报文

>>> ans=sr1(IP()/ICMP())

Begin emission:

Finished to send 1 packets.

……………………………………………………………………………………….^C

Received 100 packets, got 0 answers, remaining 1 packets

>>> ans=sr1(IP(dst=”www.baidu.com”)/ICMP())

Begin emission:

….Finished to send 1 packets.

..*

Received 7 packets, got 1 answers, remaining 0 packets

 

sr方法在3层发送报文并返回所有响应报文

>>> ans, unans=sr(IP(dst=”www.baidu.com”, src=”172.31.100.0/24″)/ICMP())

Begin emission:

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………*…………………………………………………………*………………………………………………………………………………………………………Finished to send 256 packets.

……………………………………………………………………………………………………………………………………………………………………………………………………………….^C

Received 714 packets, got 2 answers, remaining 254 packets

>>> ans

<Results: TCP:0 UDP:0 ICMP:2 Other:0>

>>> unans

<Unanswered: TCP:0 UDP:0 ICMP:254 Other:0>

 

srpsrp1方法为srsr1方法对应的2层方法

>>> ans, unans=srp(Ether()/IP(dst=”www.baidu.com”, src=”172.31.100.0/24″)/ICMP())

.Begin emission:

………………………………………………………………………………………………………………………………………………………………………………………………………………………….*..Finished to send 256 packets.

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..^C

Received 568 packets, got 1 answers, remaining 255 packets

 

srloop方法循环发送3层报文并打印结果

>>> ans, unans=srloop(IP(dst=”www.baidu.com”)/ICMP())

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

RECV 1: IP / ICMP 119.75.218.70 > 172.31.100.222 echo-reply 0 / Padding

^C       

Sent 8 packets, received 8 packets. 100.0% hits.

>>> ans

<Results: TCP:0 UDP:0 ICMP:8 Other:0>

 

srploop方法循环发送2层报文并打印结果

>>> ans, unans=srloop(Ether()/IP(dst=”www.baidu.com”)/ICMP())

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

fail 1: Ether / IP / ICMP 172.31.100.222 > 119.75.217.109 echo-request 0

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

fail 1: Ether / IP / ICMP 172.31.100.222 > 119.75.217.109 echo-request 0

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

fail 1: Ether / IP / ICMP 172.31.100.222 > 119.75.217.109 echo-request 0

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

fail 1: Ether / IP / ICMP 172.31.100.222 > 119.75.217.109 echo-request 0

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

fail 1: Ether / IP / ICMP 172.31.100.222 > 119.75.217.109 echo-request 0

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

send…  

Sent 5 packets, received 0 packets. 0.0% hits.

 

srflood方法使用flooding的方式快速发包并接收回包

>>> ans, unans=srflood(IP(dst=”www.baidu.com”)/ICMP())

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

IP / ICMP 119.75.217.109 > 172.31.100.222 echo-reply 0 / Padding

……

>>> ans

<Results: TCP:0 UDP:0 ICMP:1 Other:0>

>>> unans

<Unanswered: TCP:0 UDP:0 ICMP:255 Other:0>

>>> unans.summary()

Ether / IP / ICMP 172.31.100.84 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.78 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.71 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.104 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.98 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.64 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.3 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.36 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.117 > 119.75.218.70 echo-request 0

Ether / IP / ICMP 172.31.100.30 > 119.75.218.70 echo-request 0

……

 

发包的方法可以使用下面的3个参数

inter:定义发包时相邻两个包的时间间隔(单位s

retry:定义重传次数(可正可负,例如3表示重传3次,-3表示scapy会尝试依次重传unanswered直到没有任何新的answer报文,但是最多重试3次)

timeout:定义认为丢包的timeout时间(单位s

>>> ans, unans = sr(IP(src=”172.31.100.149/30″, dst=”www.baidu.com”)/TCP(dport=80), inter=0.5, retry=-3, timeout=1)

.Begin emission:

………………………………………………………………………………………………………………………………………………………………*……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..Finished to send 4 packets.

……………………………………………………………………………………………………………………………………………………………………………………………………Begin emission:

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Finished to send 3 packets.

……………………………………………………………………………………………………………………………………………………………………………………………………………Begin emission:

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Finished to send 3 packets.

……………………………………………………………………………………………………………………………………………………………………………………………….Begin emission:

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Finished to send 3 packets.

……………………………………………………………………………………………………………………………………………………………………………………………………

Received 2393 packets, got 1 answers, remaining 3 packets

 

 

fuzz方法可以修改对象中不参与计算的属性的默认值(例如校验和)为一个随机值,通过fuzz方法可以在循环中快速构建大量随机报文。

>>> send(IP(dst=”target”)/fuzz(UDP()/NTP(version=4)),loop=1)

…………….^C

Sent 16 packets.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232892.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XML: 使用XmlDocument 与 XmlReader 类

    XML: 使用XmlDocument 与 XmlReader 类一.XmlDocument类:XmlDocument与XmlReader类从.NET1.0就已经存在了。W3C定义了一个叫做文件对象模型(DOM:DocumentObjectModel)的标准来处理XML文档。支持DOM的类可以自由地定位并修改XML文档。要想使用XmlDocument类,需要添加System.Xml.dll的引用,并且引入System.Xml命名空间。XmlDocu

    2022年6月19日
    30
  • java free hd 798,[https://www.798ziyuan.com/]Java入门级项目全程实录V2.0

    java free hd 798,[https://www.798ziyuan.com/]Java入门级项目全程实录V2.0Java入门级项目全程实录V2.0798资源网免责声明:[Java入门级项目全程实录V2.0]由分享人op**开源于2018-09-1119:35上传到百度网盘。此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用。本网站本身不储存任何资源文件,其资源文件的安全性和完整性需要您自行判断,感谢您对本站的支持。Java入门级项目全程实录V2.0|____《Java入门级项…

    2022年7月7日
    17
  • sstream读取文件

    sstream读取文件对于如下图所示的数据文件:274表示有274个点对,以下每一行代表一个点对,每一行的四个数从左到右依次是一个第一个点的x坐标、y坐标、第二个点的x坐标、y坐标,现在要把点对数和每个点对读取并存储,具体代码如下:#include<iostream>#include<sstream>#include<fstream>#include<string&…

    2022年6月4日
    47
  • 前端进阶(1)Web前端性能优化

    前端进阶(1)Web前端性能优化前端进阶(1)Web前端性能优化Web前端性能优化,不仅能够改善站点的用户体验,并且能够节省相当的资源利用。下面将从1)服务器、2)html内容、3)css、4)javascript、5)图片等几方面介绍具体的优化操作。目录:1.服务器优化1.1.使用内容分发网络(CDN)1.2.服务器使用http2.0协议1.3.GZIP压缩1.4.使用浏览器缓存1.5…

    2022年6月22日
    27
  • 在VMware Vcenter添加一块网卡后,启动虚机找不到网卡,发现有一个ens38(redhat7.5)…

    在VMware Vcenter添加一块网卡后,启动虚机找不到网卡,发现有一个ens38(redhat7.5)…

    2021年7月7日
    102
  • 软件测试外包_为什么不能去外包公司

    软件测试外包_为什么不能去外包公司【随笔】测试外包的正确打开方式

    2022年4月21日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号