1
0
Fork 0
mirror of synced 2025-07-04 20:46:49 +02:00

tweak setup.py to work with multiple top-level files. silence lots of warnings.

This commit is contained in:
Tom Pusateri 2023-02-13 16:08:59 -05:00
parent 4e8326ea6c
commit a0a780abeb
5 changed files with 284 additions and 289 deletions

160
specs.py
View file

@ -65,7 +65,7 @@
# + Payload +
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ethernet="Destination Address:48,Source Address:48,EtherType:16,Payload:128?bits=48"
ethernet = "Destination Address:48,Source Address:48,EtherType:16,Payload:128?bits=48"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@ -79,7 +79,7 @@ ethernet="Destination Address:48,Source Address:48,EtherType:16,Payload:128?bits
# + Payload +
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
dot1q="Destination Address:48,Source Address:48,TPID (0x8100):16,PCP:3,D:1,\
dot1q = "Destination Address:48,Source Address:48,TPID (0x8100):16,PCP:3,D:1,\
VLAN ID:12,EtherType:16,Payload:96?bits=48"
@ -100,7 +100,7 @@ VLAN ID:12,EtherType:16,Payload:96?bits=48"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | data |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
tcp="Source Port:16,Destination Port:16,Sequence Number:32,\
tcp = "Source Port:16,Destination Port:16,Sequence Number:32,\
Acknowledgment Number:32,Offset:4,Res.:4,Flags:8,Window:16,Checksum:16,\
Urgent Pointer:16,Options:24,Padding:8"
@ -112,7 +112,7 @@ Urgent Pointer:16,Options:24,Padding:8"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Length | Checksum |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
udp="Source Port:16,Destination Port:16,Length:16,Checksum:16"
udp = "Source Port:16,Destination Port:16,Length:16,Checksum:16"
# 0 1 2 3
@ -130,7 +130,7 @@ udp="Source Port:16,Destination Port:16,Length:16,Checksum:16"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options | Padding |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ip="Version:4,IHL:4,Type of Service:8,Total Length:16,Identification:16,\
ip = "Version:4,IHL:4,Type of Service:8,Total Length:16,Identification:16,\
Flags:3,Fragment Offset:13,Time to Live:8,Protocol:8,Header Checksum:16,\
Source Address:32,Destination Address:32,Options:24,Padding:8"
@ -155,7 +155,7 @@ Source Address:32,Destination Address:32,Options:24,Padding:8"
# + +
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ipv6="Version:4,Traffic Class:8,Flow Label:20,Payload Length:16,Next Header:8,\
ipv6 = "Version:4,Traffic Class:8,Flow Label:20,Payload Length:16,Next Header:8,\
Hop Limit:8, Source Address:128, Destination Address:128"
@ -170,7 +170,7 @@ Hop Limit:8, Source Address:128, Destination Address:128"
# + Message Body +
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp="Type:8,Code:8,Checksum:16,Message Body:64"
icmp = "Type:8,Code:8,Checksum:16,Message Body:64"
# ICMPv4 Destination Unreachable Message
@ -184,7 +184,7 @@ icmp="Type:8,Code:8,Checksum:16,Message Body:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Internet Header + 64 bits of Original Data Datagram |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_destination="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits\
icmp_destination = "Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits\
of Original Data Datagram:64"
@ -199,7 +199,7 @@ icmp_destination="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Internet Header + 64 bits of Original Data Datagram |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_time="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
icmp_time = "Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
Original Data Datagram:64"
@ -214,7 +214,7 @@ icmp_time="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Internet Header + 64 bits of Original Data Datagram |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_parameter="Type:8,Code:8,Checksum:16,Pointer:8,Unused:24,Internet Header\
icmp_parameter = "Type:8,Code:8,Checksum:16,Pointer:8,Unused:24,Internet Header\
+ 64 bits of Original Data Datagram:64"
@ -229,7 +229,7 @@ icmp_parameter="Type:8,Code:8,Checksum:16,Pointer:8,Unused:24,Internet Header\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Internet Header + 64 bits of Original Data Datagram |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_source="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
icmp_source = "Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
Original Data Datagram:64"
@ -244,7 +244,7 @@ icmp_source="Type:8,Code:8,Checksum:16,Unused:32,Internet Header + 64 bits of\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Internet Header + 64 bits of Original Data Datagram |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_redirect="Type:8,Code:8,Checksum:16,Gateway Internet Address:32,Internet\
icmp_redirect = "Type:8,Code:8,Checksum:16,Gateway Internet Address:32,Internet\
Header + 64 bits of Original Data Datagram:64"
@ -259,7 +259,7 @@ icmp_redirect="Type:8,Code:8,Checksum:16,Gateway Internet Address:32,Internet\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Data ...
# +-+-+-+-+-
icmp_echo="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
icmp_echo = "Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
# ICMPv4 Timestamp or Timestamp Reply Message
@ -277,7 +277,7 @@ icmp_echo="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Transmit Timestamp |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_timestamp="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,\
icmp_timestamp = "Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,\
Originate Timestamp:32,Receive Timestamp:32,Transmit Timestamp:32"
@ -290,7 +290,7 @@ Originate Timestamp:32,Receive Timestamp:32,Transmit Timestamp:32"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Identifier | Sequence Number |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
icmp_information="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16"
icmp_information = "Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16"
# ICMPv6 General Format
@ -303,7 +303,7 @@ icmp_information="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16"
# | |
# + Message Body +
# | |
icmpv6="Type:8,Code:8,Checksum:16,Message Body:64"
icmpv6 = "Type:8,Code:8,Checksum:16,Message Body:64"
# ICMPv6 Destination Unreachable Message
@ -318,7 +318,7 @@ icmpv6="Type:8,Code:8,Checksum:16,Message Body:64"
# | Invoking packet data (without exceeding minimum IPv6 MTU) |
# + as possible without the ICMPv6 packet +
# | exceeding the minimum IPv6 MTU [IPv6] |
icmpv6_destination="Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data\
icmpv6_destination = "Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data\
(without exceeding minimum IPv6 MTU):64"
@ -334,7 +334,7 @@ icmpv6_destination="Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data\
# | As much of invoking packet |
# + as possible without the ICMPv6 packet +
# | exceeding the minimum IPv6 MTU [IPv6] |
icmpv6_big="Type:8,Code:8,Checksum:16,MTU:32,Invoking packet data (without\
icmpv6_big = "Type:8,Code:8,Checksum:16,MTU:32,Invoking packet data (without\
exceeding minimum IPv6 MTU):64"
@ -350,7 +350,7 @@ icmpv6_big="Type:8,Code:8,Checksum:16,MTU:32,Invoking packet data (without\
# | As much of invoking packet |
# + as possible without the ICMPv6 packet +
# | exceeding the minimum IPv6 MTU [IPv6] |
icmpv6_time="Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data (without\
icmpv6_time = "Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data (without\
exceeding minimum IPv6 MTU):64"
@ -366,7 +366,7 @@ icmpv6_time="Type:8,Code:8,Checksum:16,Unused:32,Invoking packet data (without\
# | As much of invoking packet |
# + as possible without the ICMPv6 packet +
# | exceeding the minimum IPv6 MTU [IPv6] |
icmpv6_parameter="Type:8,Code:8,Checksum:16,Pointer:32,Invoking packet data\
icmpv6_parameter = "Type:8,Code:8,Checksum:16,Pointer:32,Invoking packet data\
(without exceeding minimum IPv6 MTU):64"
@ -381,7 +381,7 @@ icmpv6_parameter="Type:8,Code:8,Checksum:16,Pointer:32,Invoking packet data\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Data ...
# +-+-+-+-+-
icmpv6_echo="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
icmpv6_echo = "Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
# ICMPv6 Router Solicitation Message Format
@ -395,7 +395,7 @@ icmpv6_echo="Type:8,Code:8,Checksum:16,Identifier:16,Sequence Number:16,Data:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options ...
# +-+-+-+-+-+-+-+-+-+-+-+-
icmpv6_rsol="Type:8,Code:8,Checksum:16,Reserved:32,Options:64"
icmpv6_rsol = "Type:8,Code:8,Checksum:16,Reserved:32,Options:64"
# ICMPv6 Router Advertisement Message Format
@ -413,7 +413,7 @@ icmpv6_rsol="Type:8,Code:8,Checksum:16,Reserved:32,Options:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options ...
# +-+-+-+-+-+-+-+-+-+-+-+-
icmpv6_radv="Type:8,Code:8,Checksum:16,Cur Hop Limit:8,M:1,O:1,Reserved:6,\
icmpv6_radv = "Type:8,Code:8,Checksum:16,Cur Hop Limit:8,M:1,O:1,Reserved:6,\
Router Lifetime:16,Reachable Time:32,Retransmission Timer:32,Options:64"
@ -436,7 +436,7 @@ Router Lifetime:16,Reachable Time:32,Retransmission Timer:32,Options:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options ...
# +-+-+-+-+-+-+-+-+-+-+-+-
icmpv6_nsol="Type:8,Code:8,Checksum:16,Reserved:32,Target Address:128,\
icmpv6_nsol = "Type:8,Code:8,Checksum:16,Reserved:32,Target Address:128,\
Options:64"
@ -459,7 +459,7 @@ Options:64"
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options ...
# +-+-+-+-+-+-+-+-+-+-+-+-
icmpv6_nadv="Type:8,Code:8,Checksum:16,R:1,S:1,O:1,Reserved:29,Target\
icmpv6_nadv = "Type:8,Code:8,Checksum:16,R:1,S:1,O:1,Reserved:29,Target\
Address:128,Options:64"
@ -490,30 +490,30 @@ icmpv6_nadv="Type:8,Code:8,Checksum:16,R:1,S:1,O:1,Reserved:29,Target\
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | Options ...
# +-+-+-+-+-+-+-+-+-+-+-+-
icmpv6_redirect="Type:8,Code:8,Checksum:16,Reserved:32,Target Address:128,\
icmpv6_redirect = "Type:8,Code:8,Checksum:16,Reserved:32,Target Address:128,\
Destination Address:128,Options:64"
dhcp = "Opcode:8,Hardware Type: 8,HW Addr Len:8,Hop Count:8,Transaction ID:32,Number of Seconds:16,Flags:16,Client IP Addr:32,Your IP Addr: 32,Server IP Addr:32,Gateway IP Addr:32,Client Hardware Addr:128,Server Host Name:512,Boot Filename:1024"
modbus_tcp="Transaction ID:16,Protocol ID:16,Length:16,Address:8,Function Code:8,Data:64"
modbus_tcp = "Transaction ID:16,Protocol ID:16,Length:16,Address:8,Function Code:8,Data:64"
profinet_rt="Frame ID:16,User Data:80,Cycle Counter:16,Data Status:8,Transfer Status:8"
profinet_rt = "Frame ID:16,User Data:80,Cycle Counter:16,Data Status:8,Transfer Status:8"
dnp3="Start:16,Length:8,Control:8,Destination Address:16,Source Address:16,CRC:16,User Data 1:128,CRC 1:16,User Data 2:112,CRC 2:16"
dnp3 = "Start:16,Length:8,Control:8,Destination Address:16,Source Address:16,CRC:16,User Data 1:128,CRC 1:16,User Data 2:112,CRC 2:16"
tsap="Type:8,Slot:5,Rack:3?bits=16"
tsap = "Type:8,Slot:5,Rack:3?bits=16"
cotp_cr="Length:8,PDU Type:8, Destination Reference:16, Source Reference:16,Class/Options:8,Param. Code:8,Param. Length:8,Param.:88"
cotp_cr = "Length:8,PDU Type:8, Destination Reference:16, Source Reference:16,Class/Options:8,Param. Code:8,Param. Length:8,Param.:88"
cotp_dt="Length:8,PDU Type:8,Num. & LDU:8?bits=24"
cotp_dt = "Length:8,PDU Type:8,Num. & LDU:8?bits=24"
cotp_dr="Length:8,PDU Type:8, Destination Reference:16, Source Reference:16,Cause:8"
cotp_dr = "Length:8,PDU Type:8, Destination Reference:16, Source Reference:16,Cause:8"
s7_header="Protocol ID:8,ROSCTR:8,Reserved:16,Request ID:16,Parameter Length:16,Data Length:16,Error Code (only ROSCTR 3):16,Function Code:8,Item Count:8?bits=16"
s7_header = "Protocol ID:8,ROSCTR:8,Reserved:16,Request ID:16,Parameter Length:16,Data Length:16,Error Code (only ROSCTR 3):16,Function Code:8,Item Count:8?bits=16"
s7_item="Var Type:8,Var Length:8,Syntax ID:8,Transport Size:8,Length:16,DB Number:16,Area:8,Address:24"
s7_item = "Var Type:8,Var Length:8,Syntax ID:8,Transport Size:8,Length:16,DB Number:16,Area:8,Address:24"
s7_data="Return Code:8,Transport Size:8,Data Length:16"
s7_data = "Return Code:8,Transport Size:8,Data Length:16"
# 0 1
# 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
@ -534,7 +534,7 @@ s7_data="Return Code:8,Transport Size:8,Data Length:16"
# * *
# | |
# *-------------------------------*
example="Field4:4,Field4:4,Field8:8,Field16:16,Field32:32,Field64:64?bits=16,\
example = "Field4:4,Field4:4,Field8:8,Field16:16,Field32:32,Field64:64?bits=16,\
numbers=y,startchar=*,endchar=*,evenchar=-,oddchar=-,sepchar=|"
@ -713,7 +713,7 @@ numbers=y,startchar=*,endchar=*,evenchar=-,oddchar=-,sepchar=|"
# + +
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
test="Field_1:1,Field_4:4,Field_7:7,Field_10:10,Field_13:13,Field_16:16,\
test = "Field_1:1,Field_4:4,Field_7:7,Field_10:10,Field_13:13,Field_16:16,\
Field_19:19,Field_22:22,Field_25:25,Field_28:28,Field_31:31,Field_34:34,\
Field_37:37,Field_40:40,Field_43:43,Field_46:46,Field_49:49,Field_52:52,\
Field_55:55,Field_58:58,Field_61:61,Field_64:64,Field_67:67,Field_70:70,\
@ -724,45 +724,45 @@ Field_124:124,Field_127:127"
# Dictionary of specs
protocols={"ethernet":ethernet,
"8021q":dot1q,
"dot1q":dot1q,
"tcp":tcp,
"udp":udp,
"ip":ip,
"ipv6":ipv6,
"icmp":icmp,
"icmp-destination":icmp_destination,
"icmp-time":icmp_time,
"icmp-parameter":icmp_parameter,
"icmp-source":icmp_source,
"icmp-redirect":icmp_redirect,
"icmp-echo":icmp_echo,
"icmp-timestamp":icmp_timestamp,
"icmp-information":icmp_information,
"icmpv6":icmpv6,
"icmpv6-destination":icmpv6_destination,
"icmpv6-big":icmpv6_big,
"icmpv6-time":icmpv6_time,
"icmpv6-parameter":icmpv6_parameter,
"icmpv6-echo":icmpv6_echo,
"icmpv6-rsol":icmpv6_rsol,
"icmpv6-radv":icmpv6_radv,
"icmpv6-nsol":icmpv6_nsol,
"icmpv6-nadv":icmpv6_nadv,
"icmpv6-redirect":icmpv6_redirect,
"dhcp": dhcp,
"modbus_tcp":modbus_tcp,
"profinet_rt":profinet_rt,
"tsap":tsap,
"dnp3":dnp3,
"s7_header":s7_header,
"s7_item":s7_item,
"s7_data":s7_data,
"cotp_cr":cotp_cr,
"cotp_dt":cotp_dt,
"cotp_dr":cotp_dr,
"example":example,
"test":test
}
protocols = {
"ethernet": ethernet,
"8021q": dot1q,
"dot1q": dot1q,
"tcp": tcp,
"udp": udp,
"ip": ip,
"ipv6": ipv6,
"icmp": icmp,
"icmp-destination": icmp_destination,
"icmp-time": icmp_time,
"icmp-parameter": icmp_parameter,
"icmp-source": icmp_source,
"icmp-redirect": icmp_redirect,
"icmp-echo": icmp_echo,
"icmp-timestamp": icmp_timestamp,
"icmp-information": icmp_information,
"icmpv6": icmpv6,
"icmpv6-destination": icmpv6_destination,
"icmpv6-big": icmpv6_big,
"icmpv6-time": icmpv6_time,
"icmpv6-parameter": icmpv6_parameter,
"icmpv6-echo": icmpv6_echo,
"icmpv6-rsol": icmpv6_rsol,
"icmpv6-radv": icmpv6_radv,
"icmpv6-nsol": icmpv6_nsol,
"icmpv6-nadv": icmpv6_nadv,
"icmpv6-redirect": icmpv6_redirect,
"dhcp": dhcp,
"modbus_tcp": modbus_tcp,
"profinet_rt": profinet_rt,
"tsap": tsap,
"dnp3": dnp3,
"s7_header": s7_header,
"s7_item": s7_item,
"s7_data": s7_data,
"cotp_cr": cotp_cr,
"cotp_dt": cotp_dt,
"cotp_dr": cotp_dr,
"example": example,
"test": test
}