javabittorrentdhtlibtorrent

Can you make basic mainline dht queries like find_node and ping with the libtorrent library


In my project I want to monitor the bittorrent mainline network. To do so, I must use basic simple queries like find_node, announce_peer etc. What I would like to do is I would first connect to the bootstrap node and then populate my routing table with get_nodes and so on.

Some of the researchers that did similar things before used the libtorrent library, but I can't seem to find how to do it. Does the libtorrent library support this? I am using the java binding library for this(com.frostwire.jlibtorrent).

I was unable to find a lot of examples of usage of this library and I have been reading through the javadoc and can't figure out how to do it.

Is there a better way I should try to do this? I have been stuck for quite some time now, any help is appreciated.

Thanks, M


Solution

  • The official documentation only lists some high-level DHT APIs. The lower-level implementation is marked as TORRENT_EXTRA_EXPORT which I believe means it's only meant for testing. The ping method specifically is private.

    Since you're using java you could use mldht (I'm the author), which exposes lower-level functionality too.