python 发包的方法_Scapy笔记(3)——简单发包操作

看一些简单的发包操作。

首先看一下有那些方法,通过lsc()看一下:

如果要知道具体某个方法的参数,可以用lsc(function name)来查看:

发包方法大体分为两类,第一类是只发不收,第二类是发而且接受回复。

1 Sendting packets:

send() and sendp()

send()是在第三层发送数据包,sendp()是在第二层

send(IP(dst=’10.104.4.22’,ttl=(1,4))/ICMP())

这就是ping命令,不过没有接收回复的功能,只是发出去了4个ping包。

Sendp(Ether()/IP(dst=’10.104.4.22’,ttl=(1,4)))

当然有很多参数可以设置,inter,timeout等等。

2 send and receive

packets: (这个应该是重要的吧)

The send and receive functions family will not only send stimuli

and sniff responses but also match sent stimuli with received

responses.

Function sr(),sr1(),and srloop() all work at layer 3.

Sr() is for sending and receiving packets,it returns a couple of

packet and answers,and the unanswered packets.but sr1() only

receive the first answer.srloop() is for sending a packet in loop

and print the answer each time

从上可以看出三者的区别.

用一下看看,先看sr()

实现的功能其实就是从我的主机10.104.4.21上ping了一下网关10.104.4.1

而且是发了4个包,得到的结果p可以看到一个tuple元组,可以用type方法验证一下,

而且这个元组的成员p[0]和p[1]也分别是元组,p[0]是一对对收发包,p[1]是一些没有得到回复的包。如果要想看看每个收发包的具体情况,可以用p[0][1]等来查看。

下面我们看看sr1()的情况:

从下面的图看到,我们发了四个包,但是结果p却只是一个包,并可以看出这个包的内容和我们上面sr()的p[0][0]一样,所以,sr1()只是接收第一个answer。

下面简单看看srloop()的用法:

一共发了四包(count=4),而且是每隔3秒发一包(inter=3)

Srp(),srp1(),srploop()和上面三个唯一不同的就是这个三个是work in layer

2.

其他的区别和

sr(),sr1(),srloop()之间的区别一样。就不一一举例了。另外各个方法的一些参数的使用也不举例了,只有在实际应用中才能体会。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值