<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: dns code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 17 May 2008 12:32:07 GMT</pubDate>
    <description>DZone Snippets: dns code</description>
    <item>
      <title>Server name/IP converter</title>
      <link>http://snippets.dzone.com/posts/show/4246</link>
      <description>When passed either an IPv4 address or the name of a domain or server, this script will return either a name or an IP, respectively.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;use strict;&lt;br /&gt;use Socket;&lt;br /&gt;my $arg = shift;&lt;br /&gt;if ($arg =~ /^(\d+\.){3}\d+$/) {&lt;br /&gt; print scalar gethostbyaddr(inet_aton($arg), AF_INET), "\n"&lt;br /&gt;} else { printf "%vd\n", scalar gethostbyname $arg }&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 05 Jul 2007 02:24:29 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4246</guid>
      <author>Minimiscience (Guildorn Tanaleth)</author>
    </item>
    <item>
      <title>Get machine ID</title>
      <link>http://snippets.dzone.com/posts/show/3767</link>
      <description>&lt;code&gt;&lt;br /&gt;machine-id: does [read dns://]&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 05 Apr 2007 18:10:41 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3767</guid>
      <author>gregg.irwin (Gregg Irwin)</author>
    </item>
    <item>
      <title>Clear DNS lookup / IP address cache on OS X Tiger</title>
      <link>http://snippets.dzone.com/posts/show/598</link>
      <description>&lt;code&gt;lookupd -flushcache&lt;/code&gt;</description>
      <pubDate>Thu, 25 Aug 2005 06:37:15 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/598</guid>
      <author>peter (Peter Cooperx)</author>
    </item>
    <item>
      <title>Getting rid of domain transfer limitations in all zone files on Ensim</title>
      <link>http://snippets.dzone.com/posts/show/317</link>
      <description>An inelegant use of find and grep, but it works.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;find . | grep -e "zone" | xargs perl -pi -e 's/allow-transfer {.+?}\;//'&lt;/code&gt;</description>
      <pubDate>Tue, 24 May 2005 10:03:38 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/317</guid>
      <author>peter (Peter Cooperx)</author>
    </item>
    <item>
      <title>EveryDNS update script</title>
      <link>http://snippets.dzone.com/posts/show/43</link>
      <description>This script lets you update your IP address at everydns.net&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#!/usr/bin/env ruby&lt;br /&gt;require 'optparse' &lt;br /&gt;require 'net/http' &lt;br /&gt;require 'cgi' &lt;br /&gt;&lt;br /&gt;class EveryDnsUpdater&lt;br /&gt;  attr_accessor :user, :pass&lt;br /&gt;  attr_reader :ip, :code, :body&lt;br /&gt;&lt;br /&gt;  def params&lt;br /&gt;    @params ||= {"ver" =&gt; "0.1"}&lt;br /&gt;  end&lt;br /&gt;      &lt;br /&gt;  def host&lt;br /&gt;    "dyn.everydns.net"&lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  def query&lt;br /&gt;    "/index.php?" + params.collect{ |k,v| "#{k}=#{CGI.escape(v)}"}.join('&amp;')&lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  def parse(body)&lt;br /&gt;    @body   = body&lt;br /&gt;    @code   = @body.scan(/Exit Code: (\d+)/i).to_s.to_i&lt;br /&gt;    @ip     = @body.scan(/IP now: ([\d\.]+)/).to_s&lt;br /&gt;  end&lt;br /&gt;      &lt;br /&gt;  def run&lt;br /&gt;    Net::HTTP.start(host) do |http| &lt;br /&gt;&lt;br /&gt;      req = Net::HTTP::Get.new(query) &lt;br /&gt;      req.basic_auth(user, pass)&lt;br /&gt;      response = http.request(req)&lt;br /&gt;      case response&lt;br /&gt;      when Net::HTTPSuccess&lt;br /&gt;        parse(response.body)&lt;br /&gt;        return @code&lt;br /&gt;      else&lt;br /&gt;        return response.code&lt;br /&gt;      end&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;opts = OptionParser.new &lt;br /&gt;updater = EveryDnsUpdater.new&lt;br /&gt;&lt;br /&gt;opts.banner = "Usage: everydns [options]"&lt;br /&gt;opts.separator ""&lt;br /&gt;opts.on("-u", "--user=USER", "User name") { |str| updater.user = str } &lt;br /&gt;opts.on("-p", "--pass=PASS", "Password") { |str| updater.pass = str } &lt;br /&gt;opts.on("-d", "--domain=DOMAIN", "Domain name you wish to update")  { |str| updater.params["domain"] = str } &lt;br /&gt;opts.on("-a", "--address=[IP]", "IP address you want to supply") { |str| updater.params["ip"] = str } &lt;br /&gt;opts.on_tail("-h", "--help")   { puts opts; exit } &lt;br /&gt;&lt;br /&gt;opts.parse(ARGV)&lt;br /&gt;&lt;br /&gt;if ARGV.empty? or updater.user.nil? or updater.pass.nil? or updater.params["domain"].nil?&lt;br /&gt;  puts opts&lt;br /&gt;  exit&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if updater.run == 0&lt;br /&gt;  puts "IP address set to #{updater.ip} successfully..."&lt;br /&gt;else&lt;br /&gt;  puts "Not successful..."&lt;br /&gt;  puts updater.body&lt;br /&gt;end&lt;/code&gt;</description>
      <pubDate>Thu, 07 Apr 2005 09:43:11 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/43</guid>
      <author>tobi (Tobias Luetke)</author>
    </item>
  </channel>
</rss>
