There are various libraries available for every language which allow you to
fetch the DNS record based on the hostname. For the Android agent I'm using
DNSJava (http://www.xbill.org/dnsjava/). Sample code from the Android agent:
https://github.com/umitproject/openmonitor-android-agent/blob/master/icm-mobile/src/org/umit/icm/mobile/connectivity/DNSLookup.java
and how it is used for each website URL:
Go to method setupDNSRecords()
*
https://github.com/umitproject/openmonitor-android-agent/blob/master/icm-mobile/src/org/umit/icm/mobile/connectivity/WebsiteDetails.java
*
On Sat, Sep 22, 2012 at 5:25 PM, Zhongjie Wang <wzj...@gmail.com> wrote:
> Yes, I understand. But how do retrieve its DNS record?
> 在 2012-9-22 下午5:17,"Zubair Nabi" <zn.zubairn...@gmail.com>写道:
>
> Hi Alan,
>>
>> Currently, we just open the website through its hostname and check its
>> status code. What I propose is that we retrieve its A DNS record as well
>> which would would give us the IP addresses for that domain name. That
>> information along with the NS and SOA records can be used by the aggregator
>> to check whether we accessed the actual website or were we redirected to a
>> default page. The reason the agents do this themselves is that they only
>> have access to local information.
>>
>> On Fri, Sep 21, 2012 at 6:57 PM, Zhongjie Wang <wzj...@gmail.com> wrote:
>>
>>> Hi Zubair,
>>> Yeah, actually I've known the things you mentioned. For some
>>> ISPs in China, if their DNS servers couldn't resolve a DNS request, it will
>>> return a default "error" page, which IP address is owned by the ISP. I
>>> don't know whether this could be called a DNS injection. But it's a good
>>> habit to examine the IP address for each website. How do you handle a
>>> website with multiple IP addresses like google.com?
>>>
>>> Cheers,
>>> Alan
>>>
>>> On Thu, Sep 20, 2012 at 9:28 PM, Zubair Nabi <zn.zubairn...@gmail.com>wrote:
>>>
>>>> Guys,
>>>>
>>>> I just realised that some censoring entities such as the GFW of China
>>>> use DNS injection to censor websites. Currently, we decide whether a
>>>> website is blocked or not by analysing its HTTP status code (i.e. if its
>>>> 200 or not). This will not work in case of DNS injection, because the HTTP
>>>> status code would be 200 even though we won't be able to access the actual
>>>> website. Therefore, I propose performing DNS look up for each website and
>>>> adding the A, SOA, and NS DNS records to the website report. On the basis
>>>> on these, the aggregator can decide whether a website is blocked or not.
>>>> You can read up on these records here:
>>>> http://www.debianhelp.co.uk/dnsrecords.htm. I've already added this
>>>> mechanism to the Android agent.
>>>> Any objections or comments on this?
>>>>
>>>> --
>>>> Best,
>>>> Zubair
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Everyone hates slow websites. So do we.
>>>> Make your web apps faster with AppDynamics
>>>> Download AppDynamics Lite for free today:
>>>> http://ad.doubleclick.net/clk;258768047;13503038;j?
>>>> http://info.appdynamics.com/FreeJavaPerformanceDownload.html
>>>> _______________________________________________
>>>> Umit-devel mailing list
>>>> Umit-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/umit-devel
>>>>
>>>>
>>>
>>>
>>> --
>>> Zhongjie Wang
>>> Master Candidate
>>> Computer System Architecture
>>> Peking University, China
>>>
>>
>>
>>
>> --
>> Best,
>> Zubair
>>
>>
--
Best,
Zubair
------------------------------------------------------------------------------
How fast is your code?
3 out of 4 devs don\\\'t know how their code performs in production.
Find out how slow your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219672;13503038;z?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Umit-devel mailing list
Umit-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/umit-devel