/etc/xinetd.d/test:
service test
{
disable = no
type = UNLISTED
socket_type = dgram
protocol = udp
user = root
wait = yes
port = 8888
server = /bin/bash
server_args = /root/test.sh
}
Das Testskript kann wie folgt auf die Adresse zugreifen:
/root/test.sh:
#!/bin/bash
logger "xinetd: Verbindung auf Port 8888 von IP-Adresse $REMOTE_HOST"
Auch von einem C-Programm aus können Sie auf die Variable
REMOTE_HOST
zugreifen. Dafür gibt es die Funktion
getenv():
xinettest.c:
#include <stdio.h>
#include <stdlib.h>
int main()
{
const char *ip = getenv("REMOTE_HOST");
printf("Adresse des Remote-Hosts: %s\n", ip ? ip : "(unbekannt)");
}