首页 > 其他分享 >scapy函数介绍

scapy函数介绍

时间:2023-04-21 10:46:32浏览次数:35  
标签:None 函数 16 scapy packets 00 介绍 64 x00

1、读取报文

>>> packets = rdpcap("d.pcap")

2、查看原始数据

>>> raw(packets[0]) 
b'\x00\x16>3\x02d\x00\x16>\\\xf2\xa3\x08\x00E\x00\x00(\x00\x01\x00\x00@\x063\x18\xc0\xa8\x05;\xb5*\xcc\xa9$\xfc\x01\xbdTz\x08j\x1c\xcb\x04sP\x02 \x00\xa3O\x00\x00'

3、16进制数据格式化展示

>>> hexdump(packets[0])
0000  00 16 3E 33 02 64 00 16 3E 5C F2 A3 08 00 45 00  ..>3.d..>\....E.
0010  00 28 00 01 00 00 40 06 33 18 C0 A8 05 3B B5 2A  .([email protected]....;.*
0020  CC A9 24 FC 01 BD 54 7A 08 6A 1C CB 04 73 50 02  ..$...Tz.j...sP.
0030  20 00 A3 4F 00 00

4、展示各层的各字段数据,不便于阅读

>>> ls(packets[0])
dst        : DestMACField                        = '00:16:3e:33:02:64' ('None')
src        : SourceMACField                      = '00:16:3e:5c:f2:a3' ('None')
type       : XShortEnumField                     = 2048            ('36864')
--
version    : BitField  (4 bits)                  = 4               ('4')
ihl        : BitField  (4 bits)                  = 5               ('None')
tos        : XByteField                          = 0               ('0')
len        : ShortField                          = 40              ('None')
id         : ShortField                          = 1               ('1')
flags      : FlagsField                          = <Flag 0 ()>     ('<Flag 0 ()>')
frag       : BitField  (13 bits)                 = 0               ('0')
ttl        : ByteField                           = 64              ('64')
proto      : ByteEnumField                       = 6               ('0')
chksum     : XShortField                         = 13080           ('None')
src        : SourceIPField                       = '192.168.5.59'  ('None')
dst        : DestIPField                         = '181.42.204.169' ('None')
options    : PacketListField                     = []              ('[]')
--
sport      : ShortEnumField                      = 9468            ('20')
dport      : ShortEnumField                      = 445             ('80')
seq        : IntField                            = 1417283690      ('0')
ack        : IntField                            = 483066995       ('0')
dataofs    : BitField  (4 bits)                  = 5               ('None')
reserved   : BitField  (3 bits)                  = 0               ('0')
flags      : FlagsField                          = <Flag 2 (S)>    ('<Flag 2 (S)>')
window     : ShortField                          = 8192            ('8192')
chksum     : XShortField                         = 41807           ('None')
urgptr     : ShortField                          = 0               ('0')
options    : TCPOptionsField                     = []              ("b''")

5、展示概要信息

>>> packets[0].summary()
'Ether / IP / TCP 192.168.5.59:9468 > 181.42.204.169:microsoft_ds S'

6、展示各层的各字段数据,便于阅读

>>> packets[0].show()
###[ Ethernet ]###
  dst       = 00:16:3e:33:02:64
  src       = 00:16:3e:5c:f2:a3
  type      = IPv4
###[ IP ]###
     version   = 4
     ihl       = 5
     tos       = 0x0
     len       = 40
     id        = 1
     flags     =
     frag      = 0
     ttl       = 64
     proto     = tcp
     chksum    = 0x3318
     src       = 192.168.5.59
     dst       = 181.42.204.169
     \options   \
###[ TCP ]###
        sport     = 9468
        dport     = microsoft_ds
        seq       = 1417283690
        ack       = 483066995
        dataofs   = 5
        reserved  = 0
        flags     = S
        window    = 8192
        chksum    = 0xa34f
        urgptr    = 0
        options   = ''

7、对于给定的报文,返回一个scapy命令,用于生成该报文

>>> packets[0].command()
"Ether(dst='00:16:3e:33:02:64', src='00:16:3e:5c:f2:a3', type=2048)/IP(version=4, ihl=5, tos=0, len=40, id=1, flags=0, frag=0, ttl=64, proto=6, chksum=13080, src='192.168.5.59', dst='181.42.204.169')/TCP(sport=9468, dport=445, seq=1417283690, ack=483066995, dataofs=5, reserved=0, flags=2, window=8192, chksum=41807, urgptr=0)"

 

标签:None,函数,16,scapy,packets,00,介绍,64,x00
From: https://www.cnblogs.com/superbaby11/p/17339498.html

相关文章

  • Python | isinstance函数的使用
    isinstance是一个Python内置函数,用于检查一个对象是否是指定类或其子类的实例。isinstance(obj,cls)返回一个布尔值,表示obj是否是cls或其子类的实例。类似type()。isinstance()与type()区别:type()不会认为子类是一种父类类型,不考虑继承关系。isinstance()会认......
  • 7.数组动态创建和函数
    动态创建函数动态函数一维数组动态赋值int*data=newint[3];//动态分配地址for(inti=0;i<3;i++){data[i]=1;cout<<data[i]<<"";}delete[]data;//释放分配的·地址 二维数组动态分配地址int**d......
  • 边缘人工智能介绍
    什么是边缘人工智能,它是如何工作的?边缘人工智能(EdgeAI)是一种制作人工智能工作流程的范式,其范围从集中式数据中心(云)到网络的最边缘。网络的边缘指的是终端,甚至可以包括用户设备。边缘人工智能与更常见的做法形成对比,即人工智能应用程序完全在云中开发和运行。这种做法,人们已经开......
  • Spring的Factories机制介绍
    Java的SPI机制JavaSpringBoot加载yml配置文件中字典项Spring的Factories就是Spring版本的JavaSpi。SpringFactories的最重要的功能就是:可以通过配置文件指定Spring容器加载一些特定的组件。SpringFactories是一种类似于JavaSPI的机制,它在META-INF/spring.factories......
  • 增加一个成员函数,计算加n秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......
  • 增加一个成员函数,计算加一秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......
  • oracle数字类函数
    Oracle数据库中所有的数字类函数:ABS:返回指定数值的绝对值ACOS:返回指定角度的反余弦值ASIN:返回指定角度的反正弦值ATAN:返回指定数字的反正切值ATAN2:返回两个数值的反正切值CEIL:返回大于或等于指定数字的最小整数(向上取整)COS:返回指定角度的余弦值COSH:返回......
  • oracle字符类函数
    Oracle数据库中所有的字符类函数:ASCII:返回某个字符的ASCII码值ASCIISTR:返回字符的ASCII码值的字符串表示CHR:返回指定ASCII码对应的字符CONCAT:连接两个字符串CONVERT:将一个字符集转换成另一个字符集INITCAP:将字符串每个单词首字母大写INSTR:返回字符串中子串的......
  • oracle日期和时间类函数
    Oracle中所有的日期和时间类函数:SYSDATE:返回当前日期和时间CURRENT_DATE:返回当前日期CURRENT_TIMESTAMP:返回当前的日期和时间戳LOCALTIMESTAMP:返回当前时间戳TIMESTAMPADD:在日期上增加一定的数量TIMESTAMPDIFF:计算两个日期之间的时间差EXTRACT:从日期时间......
  • Django笔记二十六之数据库函数之数学公式函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十六之数据库函数之数学公式函数这一篇来介绍一下公式函数,主要是数学公式。其中sin,cos这种大多数情况下用不上的就不介绍了,主要介绍下面几种:Abs()绝对值Ceil()向上取整Floor()向下取整Mod()取余Power()乘方Roun......