|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 06 Nov 2001 16:58:25 To : strijar@urai.ru Subject : Re: inetd: source address -------------------------------------------------------------------------------- >> Есть shell-скрипт, вызываемый из inetd (ipv4 only). >> Может он как-нибудь получить ip-адрес, откуда пришел коннект? >> Мне не для access control, мне сам ip нужен. sur> Вот написал за 5 мин ;)) sur> === getip.c === Так нечестно ;) sur> #include <sys/types.h> sur> #include <sys/param.h> sur> #include <sys/socket.h> sur> #include <netinet/in.h> sur> #include <netinet/tcp.h> sur> #include <arpa/inet.h> sur> int main() { sur> struct sockaddr_storage ss; sur> int sval; sur> char rhost[MAXHOSTNAMELEN]; sur> sval = sizeof(ss); sur> getpeername(0, (struct sockaddr *)&ss, &sval); sur> realhostname_sa(rhost, sizeof rhost - 1, (struct sockaddr *)&ss, sur> sval); sur> rhost[sizeof(rhost) - 1] = '\0'; sur> printf("%s\n",rhost); sur> } Кроме того, я спрашивал про IP, а не про hostname :) Eugene -- "Люди забыли эту истину," - сказал Лис, - "но ты не забывай" --- slrn/0.9.7.0 (FreeBSD) * Origin: SVZ-Service (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/260933f84547d.html, оценка из 5, голосов 10
|