{"id":315,"date":"2020-01-21T16:06:48","date_gmt":"2020-01-21T07:06:48","guid":{"rendered":"http:\/\/192.168.20.1\/?p=315"},"modified":"2021-08-02T05:55:17","modified_gmt":"2021-08-01T20:55:17","slug":"many-source-ip-address-dns-query","status":"publish","type":"post","link":"https:\/\/rlab.cavtime.net\/?p=315","title":{"rendered":"Many Source IP Address DNS Query"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>\u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3067DNS\u306e\u8ca0\u8377\u5206\u6563\u306e\u52d5\u4f5c\u8a66\u9a13\u3092\u3059\u308b\u30c4\u30fc\u30eb\u306e\u89e3\u8aac\u3092\u3059\u308b<\/p>\n<h2>Installation<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/farrokhi\/dnsdiag\" target=\"_blank\" rel=\"noopener noreferrer\">dnsdiag<\/a><\/li>\n<\/ul>\n<h2>dnsping help<\/h2>\n<pre>$ dnsping --help\r\ndnsping version 1.6.3\r\nusage: dnsping [-ehqv] [-s server] [-p port] [-P port] [-S address] [-c count] [-t type] [-w wait] hostname\r\n  -h  --help      Show this help\r\n  -q  --quiet     Quiet\r\n  -v  --verbose   Print actual dns response\r\n  -s  --server    DNS server to use (default: first entry from \/etc\/resolv.conf)\r\n  -p  --port      DNS server port number (default: 53)\r\n  -T  --tcp       Use TCP instead of UDP\r\n  -4  --ipv4      Use IPv4 as default network protocol\r\n  -6  --ipv6      Use IPv6 as default network protocol\r\n  -P  --srcport   Query source port number (default: 0)\r\n  -S  --srcip     Query source IP address (default: default interface address)\r\n  -c  --count     Number of requests to send (default: 10)\r\n  -w  --wait      Maximum wait time for a reply (default: 2 seconds)\r\n  -i  --interval  Time between each request (default: 0 seconds)\r\n  -t  --type      DNS request record type (default: A)\r\n  -e  --edns      Disable EDNS0 (default: Enabled)\r\n\r\n$ \r\n<\/pre>\n<h2>Source Code<\/h2>\n<p>ipaddress.txt\u3092\u8aad\u307f\u53d6\u308a\u4e00\u884c\u305a\u3064 source ip address \u6307\u5b9a\u3067 dnsping \u3092\u5b9f\u884c\u3059\u308b\u3002<\/p>\n<p>\u4e8b\u524d\u306bip addr add xxx.xxx.xxx.xxx dev ifname \u3092\u5b9f\u884c\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<p>ip address<\/p>\n<pre>$ sudo ip address add 192.168.1.16\/24 dev wlp2s0\r\n$ sudo ip address add 192.168.1.17\/24 dev wlp2s0\r\n$ \r\n$ ip a\r\n1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\r\n    link\/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\r\n    inet 127.0.0.1\/8 scope host lo\r\n       valid_lft forever preferred_lft forever\r\n    inet6 ::1\/128 scope host \r\n       valid_lft forever preferred_lft forever\r\n2: enp0s25: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc fq_codel state DOWN group default qlen 1000\r\n    link\/ether f0:de:f1:2e:f9:93 brd ff:ff:ff:ff:ff:ff\r\n3: wlp2s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000\r\n    link\/ether 00:26:c7:7f:c0:2a brd ff:ff:ff:ff:ff:ff\r\n    inet 192.168.1.15\/24 brd 192.168.1.255 scope global noprefixroute wlp2s0\r\n       valid_lft forever preferred_lft forever\r\n    inet 192.168.1.16\/24 scope global secondary wlp2s0\r\n       valid_lft forever preferred_lft forever\r\n    inet 192.168.1.17\/24 scope global secondary wlp2s0\r\n       valid_lft forever preferred_lft forever\r\n    inet6 2408:211:540:ca00:aba8:fe9e:79f:e783\/64 scope global dynamic noprefixroute \r\n       valid_lft 14375sec preferred_lft 12575sec\r\n    inet6 fe80::3596:e0d8:75e7:b1f6\/64 scope link noprefixroute \r\n       valid_lft forever preferred_lft forever\r\n4: virbr0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc noqueue state DOWN group default qlen 1000\r\n    link\/ether 52:54:00:53:e9:f4 brd ff:ff:ff:ff:ff:ff\r\n    inet 192.168.122.1\/24 brd 192.168.122.255 scope global virbr0\r\n       valid_lft forever preferred_lft forever\r\n5: virbr0-nic: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000\r\n    link\/ether 52:54:00:53:e9:f4 brd ff:ff:ff:ff:ff:ff\r\n6: docker0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc noqueue state DOWN group default \r\n    link\/ether 02:42:b8:5d:92:2e brd ff:ff:ff:ff:ff:ff\r\n    inet 172.17.0.1\/16 brd 172.17.255.255 scope global docker0\r\n       valid_lft forever preferred_lft forever\r\n7: vboxnet0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop state DOWN group default qlen 1000\r\n    link\/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff\r\n$\r\n<\/pre>\n<h3>script<\/h3>\n<pre>$ cat dns.sh\r\n#!\/bin\/bash\r\n\r\nwhile IFG= read -r line;\r\ndo\r\n  echo -e \"\\n\"\r\n  echo -e \"souce ip:\" $line \"\\n\"\r\n  dnsping -v -i 1 -c 1 -s 192.168.1.10 -S $line git.travelersmedia.jp\r\ndone &lt; ipaddress.txt\r\n\r\n$\r\n<\/pre>\n<h3>IP Address list<\/h3>\n<pre>$ cat ipaddress.txt\r\n192.168.1.15\r\n192.168.1.16\r\n192.168.1.17\r\n$\r\n<\/pre>\n<h3>Result<\/h3>\n<pre>$ bash dns.sh\r\n\r\n\r\nsouce ip: 192.168.1.15 \r\n\r\ndnsping DNS: 192.168.1.10:53, hostname: git.travelersmedia.jp, rdatatype: A\r\n54 bytes from 192.168.1.10: seq=0   time=6.327 ms\r\nsvr-gitlab.travelersmedia.jp. 86400 IN A 192.168.1.115\r\nflags: QR AA RD RA\r\n\r\n--- 192.168.1.10 dnsping statistics ---\r\n1 requests transmitted, 1 responses received, 0% lost\r\nmin=6.327 ms, avg=6.327 ms, max=6.327 ms, stddev=0.000 ms\r\n\r\n\r\nsouce ip: 192.168.1.16 \r\n\r\ndnsping DNS: 192.168.1.10:53, hostname: git.travelersmedia.jp, rdatatype: A\r\n54 bytes from 192.168.1.10: seq=0   time=6.146 ms\r\nsvr-gitlab.travelersmedia.jp. 86400 IN A 192.168.1.115\r\nflags: QR AA RD RA\r\n\r\n--- 192.168.1.10 dnsping statistics ---\r\n1 requests transmitted, 1 responses received, 0% lost\r\nmin=6.146 ms, avg=6.146 ms, max=6.146 ms, stddev=0.000 ms\r\n\r\n\r\nsouce ip: 192.168.1.17 \r\n\r\ndnsping DNS: 192.168.1.10:53, hostname: git.travelersmedia.jp, rdatatype: A\r\n54 bytes from 192.168.1.10: seq=0   time=7.071 ms\r\nsvr-gitlab.travelersmedia.jp. 86400 IN A 192.168.1.115\r\nflags: QR AA RD RA\r\n\r\n--- 192.168.1.10 dnsping statistics ---\r\n1 requests transmitted, 1 responses received, 0% lost\r\nmin=7.071 ms, avg=7.071 ms, max=7.071 ms, stddev=0.000 ms\r\n$ vim dns.sh\r\n$<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Overview \u8ca0\u8377\u5206\u6563\u88c5\u7f6e\u3067DNS\u306e\u8ca0\u8377\u5206\u6563\u306e\u52d5\u4f5c\u8a66\u9a13\u3092\u3059\u308b\u30c4\u30fc\u30eb\u306e\u89e3\u8aac\u3092\u3059\u308b Installation dnsdiag dnsping help $ dnsping &#8211;help dnsping version 1 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-dns-testing"],"_links":{"self":[{"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=315"}],"version-history":[{"count":3,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":792,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions\/792"}],"wp:attachment":[{"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rlab.cavtime.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}