当前位置:   article > 正文

python 自定义tcpip协议包工具scapy_scapy构造tcp包

scapy构造tcp包

一、介绍
Scapy是一个可以让用户发送、侦听和解析自定义网络报文的Python程序,比如只发物理层报文、只发icmp的报文等等,利用这个可以做很多在socket层数之下的小工具。
教程

二、Scapy下载安装
pip install scapy
在这里插入图片描述
三、使用方法

#导入库
#from scapy import * #linux
from scapy.all import * #windows

#生成各网络层的包
print("生成更网络层的包")
eth_packet = Ether()#生成以太网包
ip_packet = IP()    #生成以IP包
tcp_packet = TCP()  #生成tcp包
udp_packet = UDP()  #生成udp包
icmp_packet = ICMP()#生成icmp包
#查看包内容
print("查看包内容")
raw(eth_packet)# 使用raw()方法查看
hexdump(ip_packet)#使用hexdump()查看。类似Wireshark
Ether(raw(ip_packet))#raw()配合协议类查看。最佳
#raw()配合协议类查看。最佳
Ether(raw(ip_packet))# 查看该数据包以太网层内容(下层内容不层示,上层内容不解析只以load形式展示)
IP(raw(ip_packet))

#自定义字段生成各网络层的包
print("自定义字段生成各网络层的包")
print("在构造时直接传递参数")
ip_packet = IP(src="10.10.6.92",ttl=128)
IP(raw(ip_packet))

print("在生成后重新赋值")
ip_packet.src = "10.10.6.93"
ip_packet.ttl = 200
IP(raw(ip_packet))

print("同时自定义多层协议的字段")
ip_packet = Ether(src="00:00:00:00:00:11")/IP(src="10.10.6.92")
Ether(raw(ip_packet))

tcp_packet = Ether(src="00:00:00:00:00:11")/IP(src="10.10.6.92")/TCP(sport=1234)
Ether(raw(tcp_packet))

app_packet = IP()/TCP()/"GET / HTTP/1.0\r\n\r\n"
IP(raw(app_packet))

#包的发送接收
print("包的发送接收")
print("发送")
try:
    send(IP(dst="10.10.6.92")/ICMP())
except:
    print()
try:
    sendp(Ether()/IP(dst="10.10.6.92")/ICMP())
except:
    print()
print("发送并响应")
try:
    rec_packet = sr1(IP(dst="10.10.6.92")/ICMP()/"abcdefg")
    rec_packet
    print("直接读取某项值")
    rec_packet.src
    print("使用show()方法格式化输出")
    rec_packet.show()
except:
    print()

#syn扫描
print("syn扫描")
rec_packet = sr1(IP(dst="10.10.6.92")/TCP(dport=80,flags="S"))
rec_packet.show()



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/157007
推荐阅读
相关标签
  

闽ICP备14008679号