使用scapy制作S1AP包



提前感谢您的帮助。我是新手(才2天(。我需要创建数据包并发送到网络接口,预期的协议栈为:ETH/IP/SCTP/S1AP/NAS。据我所知,在SCTP之前,这对scapy来说是一项微不足道的任务,但我有一个问题。我正在做以下事情:

eth_ip=Ether()/IP(src="192.168.1.1",dst="192.168.2.2")
sctp=SCTP(sport=1,dport=2,tag=0x0,chksum=1)
sctp_data=SCTPChunkData(len=4, tsn=1, stream_id=1, stream_seq=1, delay_sack=0, unordered=0, beginning=1, ending=1, proto_id=18, data="x01" )
pkt1=eth_ip/sctp/sctp_data
wrpcap("sctp.pcap", pkt1)

所以,我制作了一个数据包并将其存储到PCAP,当我在Wireshark中打开时,它会说数据包格式错误。我希望看到Eth/ip/sctp/sap,当然s1ap消息是不正确的,但问题是我看到3次格式错误的sctp层,没有s1ap。为什么?有人有一个有效的SCTP数据块示例吗?


from scapy.layers.inet import Ether, IP
from scapy.layers.sctp import SCTP, SCTPChunkData

eth_ip = Ether() / IP(src="192.168.1.1",dst="192.168.2.2")
sctp = SCTP(sport=1,dport=2,tag=0x0)
sctp_data_payload = "    "
sctp_data_hdr = SCTPChunkData( data=sctp_data_payload )

pkt1 = eth_ip/sctp/sctp_data_hdr
pkt1.show2()
scapy.wrpcap("sctp.pcap", pkt1)

2个提示:

  • 一般来说,最好让Scapy放置链接层的协议。(除非你熟悉协议(
  • pkt1.show2((,将使scpy构建数据包,对其进行解码然后打印。你可以看到解码的是你所期望的

相关内容

  • 没有找到相关文章

最新更新