Skip to content

Instantly share code, notes, and snippets.

@krhitoshi
Last active December 18, 2015 13:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krhitoshi/5792041 to your computer and use it in GitHub Desktop.
Save krhitoshi/5792041 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
require 'socket'
def get_name(addr)
info = Socket.getnameinfo(Socket.sockaddr_in('80', addr))
info[0]
end
ADDR_REG_EXP = /\b((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\b/
list = {}
while line = gets
if line =~ ADDR_REG_EXP
addr = $1
name = nil
if list[addr]
name = list[addr]
else
name = get_name(addr)
list[addr] = name
end
print line.gsub(addr, name)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment