ipshuffle transforms a stream of IPs into a stream of services across all ports. This tool is an efficient way to create a random sub-sample of IPv4 services across all 65K ports.
Set up $GOPATH
(see https://golang.org/doc/code.html).
$ go install github.com/stanford-esrg/ipshuffle@latest
$ cd $GOPATH/src/github.com/stanford-esrg/ipshuffle
To provide a stream of IPs, we recommend to install and set up ZMap, in order to provide access to its ziterate
functionality.
To convert a stream of IPs (produced by ziterate) into a stream of services across all 65K ports:
ziterate | ./ipshuffle
ipshuffle can optionally take in one paramater: the # of random ports to generate per IP. With no parameter, the default is 1.