Python-scapy库

1.pip安装scapy库

2.相关函数-Ether()链路层IP()网络层TCP()传输层
使用ls()函数查看对应三个函数的参数

 代码:from scapy.layers.inet import *
from scapy.all import *
pkE=Ether()
pkI=IP()
pkT=TCP()
print("----------------------")
ls(pkE)
print("----------------------")
ls(pkI)
print("----------------------")
ls(pkT)
print("----------------------")

执行结果:

----------------------

dst        : DestMACField                        = 'ff:ff:ff:ff:ff:ff' ('None')

src        : SourceMACField                      = '00:00:00:00:00:00' ('None')

type       : XShortEnumField                     = 36864           ('36864')

----------------------

version    : BitField  (4 bits)                  = 4               ('4')

ihl        : BitField  (4 bits)                  = None            ('None')

tos        : XByteField                          = 0               ('0')

len        : ShortField                          = None            ('None')

id         : ShortField                          = 1               ('1')

flags      : FlagsField                          = <Flag 0 ()>     ('<Flag 0 ()>')

frag       : BitField  (13 bits)                 = 0               ('0')

ttl        : ByteField                           = 64              ('64')

proto      : ByteEnumField                       = 0               ('0')

chksum     : XShortField                         = None            ('None')

src        : SourceIPField                       = '0.0.0.0'       ('None')

dst        : DestIPField                         = '127.0.0.1'     ('None')

options    : PacketListField                     = []              ('[]')

----------------------

sport      : ShortEnumField                      = 20              ('20')

dport      : ShortEnumField                      = 80              ('80')

seq        : IntField                            = 0               ('0')

ack        : IntField                            = 0               ('0')

dataofs    : BitField  (4 bits)                  = None            ('None')

reserved   : BitField  (3 bits)                  = 0               ('0')

flags      : FlagsField                          = <Flag 2 (S)>    ('<Flag 2 (S)>')

window     : ShortField                          = 8192            ('8192')

chksum     : XShortField                         = None            ('None')

urgptr     : ShortField                          = 0               ('0')

options    : TCPOptionsField                     = []              ("b''")

3.其他相关函数
from scapy.layers.inet import *
from scapy.all import *
pkI=IP(src="10.191.96.28",dst="10.191.96.27",ttl=32)#构造数据包
print(raw(pkI))#字节形式
print(hexdump(pkI))#十六进制形式

pkS=pkI.show()
print(pkS)#详细查看数据包每个属性
wrpcap("temp.cap",pkI)#保存信息到temp.cap
pkI=rdpcap("temp.cap")#读取保存的temp.cap
print(pkI)
S_res=IP(dst="39.156.66.10")/ICMP()#1.构造数据包
#s=send(S_res)#2.调用send函数进行发送如果是要发送链路层数据包使用sendp()方法,【注意】:调用此命令需要管理员权限或者root身份运行
ans,uans=sr(S_res)#使用sr函数进行数据包发送,返回两个列表
ans.summary()#使用summary方法进行数据包简述

sniff(filter="icmp and host 192.168.1.1",ifaces="any",prn=lambda x:x.summary(),count=3)#抓包器1.过滤内容2.指定的网卡3.捕获数据包处理函数4.希望捕获数据包数量

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值