Erste Client-IP von Ruby-Skript durch xinetd
Frage
Wie kann ich die Client-IP-Adresse aus dem Innern einer Ruby-Skript erhalten, die von xinetd über einen Stream-Socket gestartet wird?
In PHP würde ich nur stream_socket_get_name(STDIN, true);
Vielen Dank im Voraus!
Lösung
Nach viel für die Lösung suchen, und sogar versuchen, auf dem #ruby Kanal auf Freenode zu stellen und vollständig ignoriert wird, habe ich endlich die Lösung gefunden:
def to_ip(addr)
(4...8).map{|x|addr[x]}.join('.')
end
socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)
Hope, das hilft jemand!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow