コード例 #1
0
ファイル: client.py プロジェクト: derentis/DoNotSend
    def send(self, message: str):
        crafted_domain = f"{Domain.encode(message)}.{self.domain}"

        packet = Packet.build_query(
            {"dst": self.dns_server, "dns": {"qname": crafted_domain}}, self.domain,
        )
        answer = sr1(packet.packet, verbose=self.verb, timeout=1)
        if answer.haslayer(ICMP) or answer.haslayer(IPerror):
            logger.debug(answer.show())
            logger.critical("Unreachable host or filtered port")
            return None
        return answer[DNS] if answer is not None else None
コード例 #2
0
ファイル: client.py プロジェクト: HenryZerocool/DoNotSend
    def send(self, message: str):
        crafted_domain = f"{Domain.encode(message)}.{self.domain}"
        logging.debug("crafted domain: %s", crafted_domain)

        packet = Packet.build_query(
            {
                "dst": self.dns_server,
                "dns": {
                    "qname": crafted_domain
                }
            },
            self.domain,
        )

        answer = sr1(packet.packet, verbose=self.verb, timeout=1)
        print(answer.summary())
        return answer[DNS] if answer is not None else None