@@ -18,11 +18,11 @@ class asn(BaseReportModule):
18
18
19
19
async def setup (self ):
20
20
self .unknown_asn = {
21
- "asn" : "UNKNOWN " ,
22
- "subnet " : "0.0.0.0/32" ,
23
- "name " : "unknown" ,
24
- "description " : "unknown" ,
25
- "country" : "" ,
21
+ "asn" : "0 " ,
22
+ "subnets " : [] ,
23
+ "asn_name " : "unknown" ,
24
+ "org " : "unknown" ,
25
+ "country" : "unknown " ,
26
26
}
27
27
# Track ASN data locally instead of relying on cache
28
28
self .asn_data = {} # ASN number -> ASN record mapping
@@ -78,20 +78,22 @@ async def handle_event(self, event):
78
78
self .processed_subnets [subnet ] = asn_number
79
79
80
80
emails = asn_record .get ("emails" , [])
81
- asn_event = self .make_event (asn_number , "ASN" , parent = event )
82
- if asn_event :
83
- await self .emit_event (
84
- asn_event ,
85
- context = f"{{module}} looked up { event .data } and got {{event.type}}: AS{ asn_number } ({ asn_name } , { asn_desc } , { asn_country } )" ,
86
- )
81
+ # Don't emit ASN 0 - it's reserved and indicates unknown ASN data
82
+ if asn_number != "0" :
83
+ asn_event = self .make_event (int (asn_number ), "ASN" , parent = event )
84
+ if asn_event :
85
+ await self .emit_event (
86
+ asn_event ,
87
+ context = f"{{module}} looked up { event .data } and got {{event.type}}: AS{ asn_number } ({ asn_name } , { asn_desc } , { asn_country } )" ,
88
+ )
87
89
88
- for email in emails :
89
- await self .emit_event (
90
- email ,
91
- "EMAIL_ADDRESS" ,
92
- parent = asn_event ,
93
- context = f"{{module}} retrieved details for AS{ asn_number } and found {{event.type}}: {{event.data}}" ,
94
- )
90
+ for email in emails :
91
+ await self .emit_event (
92
+ email ,
93
+ "EMAIL_ADDRESS" ,
94
+ parent = asn_event ,
95
+ context = f"{{module}} retrieved details for AS{ asn_number } and found {{event.type}}: {{event.data}}" ,
96
+ )
95
97
96
98
async def report (self ):
97
99
"""Generate an ASN summary table based on locally tracked ASN data."""
@@ -105,7 +107,7 @@ async def report(self):
105
107
header = ["ASN" , "Subnet Count" , "Name" , "Description" , "Country" ]
106
108
table = []
107
109
for asn , data in sorted_asns :
108
- number = "AS" + asn if asn != "UNKNOWN " else asn
110
+ number = "AS" + asn if asn != "0 " else asn
109
111
table .append (
110
112
[
111
113
number ,
0 commit comments