Skip to content

Commit

Permalink
ProtobufLogger: Use introspection to convert the transport to string
Browse files Browse the repository at this point in the history
  • Loading branch information
rgacogne committed Oct 22, 2021
1 parent cffd3a1 commit accb054
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions contrib/ProtobufLogger.py
Expand Up @@ -103,6 +103,11 @@ def getEventAsString(event):
descr = dnsmessage_pb2.PBDNSMessage.DESCRIPTOR
return descr.EnumValueName('EventType', event);

@staticmethod
def getTransportAsString(transport):
descr = dnsmessage_pb2.PBDNSMessage.DESCRIPTOR
return descr.EnumValueName('SocketProtocol', transport);

def printResponse(self, message):
if message.trace:
print("- Event Trace:")
Expand Down Expand Up @@ -202,18 +207,7 @@ def printSummary(self, msg, typestr):
if msg.HasField('to'):
iptostr = '[' + socket.inet_ntop(socket.AF_INET6, msg.to) + ']'

if msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.UDP:
protostr = 'UDP'
elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.TCP:
protostr = 'TCP'
elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DOT:
protostr = 'DoT'
elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DOH:
protostr = 'DoH'
elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DNSCryptUDP:
protostr = 'DNSCrypt UDP'
elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DNSCryptTCP:
protostr = 'DNSCrypt TCP'
protostr = self.getTransportAsString(msg.socketProtocol)

if msg.HasField('fromPort'):
fromportstr = ':' + str(msg.fromPort) + ' '
Expand Down

0 comments on commit accb054

Please sign in to comment.