Distributed Hash Tables, Part I
Listing 6. portscan.py
def __main__(): id=int(random.uniform(0,2**k)) node=Node(id) join(node, initialContact) line=raw_input('Enter an IP to scan: ').trim() key=long(sha.new(line).hexdigest(),16) value=lookup(node, key) if value==None: f=os.popen('nmap '+args) lines=f.readlines() value=string.join(lines, '\n') store(node, key, value)
In this installment of our two-part series, we discussed the theory behind building DHTs. Next time, we'll talk about practical issues in using DHTs in real-world applications.
Brandon Wiley is a peer-to-peer hacker and current president of the Foundation for Decentralization Research, a nonprofit corporation empowering people through technology. He can be contacted at firstname.lastname@example.org.
- Nmap—Not Just for Evil!
- Resurrecting the Armadillo
- High-Availability Storage with HA-LVM
- March 2015 Issue of Linux Journal: System Administration
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Days Between Dates: the Counting
- The Usability of GNOME
- Linux for Astronomers