| 401 | self.echo(f"{client}: {desc} {name}") |
| 402 | |
| 403 | def dns_response(self, f: dns.DNSFlow): |
| 404 | assert f.response |
| 405 | if self.match(f): |
| 406 | self._echo_dns_query(f) |
| 407 | |
| 408 | arrows = self.style(" <<", bold=True) |
| 409 | if f.response.answers: |
| 410 | answers = ", ".join( |
| 411 | self.style(str(x), fg="bright_blue") for x in f.response.answers |
| 412 | ) |
| 413 | else: |
| 414 | answers = self.style( |
| 415 | response_codes.to_str( |
| 416 | f.response.response_code, |
| 417 | ), |
| 418 | fg="red", |
| 419 | ) |
| 420 | self.echo(f"{arrows} {answers}") |
| 421 | |
| 422 | def dns_error(self, f: dns.DNSFlow): |
| 423 | assert f.error |