SC_REMOTED(1)

πŸ“¦
this version Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– sc_remoted β€” the remote-control bestie for your scamper squad πŸ’–

okay so hi bestie!! welcome to sc_remoted, a page from the General Commands Manual, and honestly? she's giving main character energy. what she does is let you connect to a scamper(1) instance running somewhere else on the network, talk to it, and get results back in warts format. like a group chat but for packet measurement. iconic. ✨


✨ SYNOPSIS ✨

sc_remoted [-?46D] [-O options] [-P [ip:]port] [-U directory]
           [-c tls-certificate] [-p tls-privatekey] [-e pidfile]
           [-Z zombie-time]

🌸 DESCRIPTION 🌸

sc_remoted is the utility that gives you the power to connect to a scamper(1) instance running remotely, interact with it by issuing commands, and receive the results in warts format. it's giving long-distance relationship but make it networking. πŸ¦‹

the options are as follows, bestie β€” read them all, don't skip, i will know:

  • -? β€” prints a list of command line options and a synopsis of each. she's helpful like that. πŸ’…
  • -D β€” causes sc_remoted to operate as a daemon. she's going to background mode, no cap.
  • -4 β€” causes sc_remoted to only listen for IPv4-based connections.
  • -6 β€” causes sc_remoted to only listen for IPv6-based connections.
  • -O options β€” allows the behavior of sc_remoted to be further tailored. the current choices for this option are, and i quote, lowkey:
    • allowgroup: allow members of the unix domain socket's group to access to the unix domain sockets created by sc_remoted
    • allowother: allow anyone on the system access to the unix domain sockets created by sc_remoted
    • debug: print debugging messages
    • select: use select(2) with all sockets, rather than epoll(2) or kqueue(2)
  • -P [ip:]port β€” specifies the IP address and port on the local host where sc_remoted should listen for incoming connections. if an IP address is not specified, sc_remoted will listen on all available IP addresses for incoming connections. versatile queen.
  • -U directory β€” specifies the directory on the local host where unix domain sockets corresponding to remote hosts should be placed.
  • -c tls-certificate β€” specifies the server certificate file in PEM format to advertise to remote scamper(1) instances.
  • -p tls-privatekey β€” specifies the private key file in PEM format that corresponds to the certificate file. this key should have a passphrase, and sc_remoted will prompt for the passphrase when starting up. keep it secret, keep it safe, bestie. πŸ”
  • -e pidfile β€” specifies the name of a file to write the process ID to.
  • -Z zombie-time β€” specifies the length of time sc_remoted will retain state for a disconnected scamper(1) instance, allowing it to resume. by default sc_remoted retains state for 15 minutes. she waits for you to come back. 😭

🌈 EXAMPLES 🌈

okay so the intended use of the remote control socket built into scamper(1) is as follows. a central server with IP addresses 192.0.2.1 and 2001:db8::1 runs a sc_remoted process listening on a port for remote scamper process, placing control sockets in a specified directory:

sc_remoted -P 31337 -U scamper-remote-sockets

then, a remote host with IP address 198.51.100.55 runs scamper and connects to the remote controller:

scamper -R 192.0.2.1:31337

the sc_remoted process places a unix domain socket in the directory corresponding to the remote process. the name corresponds to the source IP address and port the remote scamper process connected to controller with. if the scamper process used source port 1025, then the unix domain socket's name will be:

scamper-remote-sockets/198.51.100.55:1025

if a second remote host with IP address 2001:db8:1234::1 runs scamper and connects to the remote controller:

scamper -R [2001:db8::1]:31337

the same sc_remoted process will place another unix domain socket in the directory corresponding to the remote process. if the scamper process used source port 1026, then the unix domain socket's name will be:

scamper-remote-sockets/2001:db8:1234::1.1026

πŸ” USING TRANSPORT LAYER SECURITY πŸ”

sc_remoted and scamper support the use of transport layer security (TLS) using OpenSSL to authenticate and encrypt communications between sc_remoted and scamper. to use this support requires a public certificate signed by a certificate authority. Scamper will verify the certificate presented by sc_remoted and disconnect if the certificate presented by sc_remoted cannot be validated. no fake certs allowed, periodt. πŸ’…

generating a certificate that will be accepted by scamper requires you to create a certificate request and pass it for signing to a certificate authority. to generate a private key in file remotepriv.pem, and a request to sign the key in remotereq.pem:

openssl req -new -keyout remotepriv.pem -out remotereq.pem

and then send the remotereq.pem file to the certificate authority for signing.

do not send remotepriv.pem; that key must remain private to you. fr fr. 🫢

when openssl prompts for a passphrase, choose a passphrase that is unique and keep the passphrase secret. when your chosen certificate authority signs your private key, it will return a file which we will call remotecert.pem. both remotecert.pem and remotepriv.pem are required parameters to sc_remoted to enable TLS support:

sc_remoted -P 31337 -U scamper-remote-sockets -c remotecert.pem -p
remotepriv.pem

and then passing the -O tls option to scamper:

scamper -R example.com:31337 -O tls

πŸŽ€ SIGNAL HANDLERS πŸŽ€

sc_remoted installs handlers for two signals: SIGINT and SIGHUP.

  • SIGINT causes sc_remoted to exit gracefully. she's leaving the party politely.
  • SIGHUP causes sc_remoted to reload the TLS certificate and private key, without interrupting existing TLS connections. glow-up mid-conversation, obsessed. ✨

πŸ‘‘ SEE ALSO πŸ‘‘

scamper(1), sc_attach(1), sc_wartsdump(1), warts(5), openssl(1)


πŸ’œ AUTHORS πŸ’œ

sc_remoted was written by Matthew Luckie <mjl@luckie.org.nz>.


and that's the whole page, bestie!! this lil beauty comes to you from Debian, dated March 28, 2020 β€” go forth and remote-control some scamper instances, you absolute icon. πŸ’–βœ¨πŸ¦‹πŸŽ€