FastNetMon

Monday, 4 February 2013

Как посредством сниффера пакетов отловить DNS запросы заданного типа?

Наилучшее решение в данном случае - tshark.

Решение с его использованием крайне лаконично:

tshark -f "udp port 53" -R "dns.qry.type == ANY and dns.flags.response == 0"
Результат его работы выглядит примерно так:
 0.883793 195.14.11.1 -> 93.170.127.X DNS Standard query ANY xxx.ru
  2.364894 213.180.19.153 -> 93.170.127.X DNS Standard query ANY ddddd-tm.ru
  2.561920 33.11.22.135 -> 93.170.127.X DNS Standard query ANY fff.ru
  2.875824 55.11.22.135 -> 93.170.127.X DNS Standard query ANY 123123.ru
  4.538366 135.11.8.70 -> 93.170.127.X DNS Standard query ANY sadasdasdasd.ru
 Разумеется, в случае dns.flags.response == 1 будут выдаваться только ответы, в случае == 0 (как в примере) будут выдаваться только запросы. Вместо ANY можно указывать A,SOA,TXT и прочие типы запросов.

No comments :

Post a Comment

Note: only a member of this blog may post a comment.