----- Original Message ----- From: "Dan Uscatu" <[EMAIL PROTECTED]> To: "Romanian Linux Users Group" <rlug@lists.lug.ro> Sent: Friday, October 27, 2006 1:14 PM Subject: Re: [rlug] aflare adresa ip
> > atunci, daca are access la ping, grep si awk: > > [EMAIL PROTECTED] ~]# ping -I eth0 -w 1 -c 1 localhost | grep PING | awk > > '{print $5;}' > > 172.18.7.1 > > [EMAIL PROTECTED] ~]# > > > > sau "cut" in loc de awk: > > > > [EMAIL PROTECTED] ~]# ping -I eth0 -w 1 -c 1 localhost | grep PING | > > cut -f5 -d' ' > > 172.18.7.1 > > [EMAIL PROTECTED] ~]# > Compileaza dracia urmatoare pe alta masina si dupa aia copiaza-l acolo si incearca-l (vezi ca e scris in dur in el ifname "eth0"). Nu l-am facut eu ca mi-a fost lene, am luat un exemplu de pe internet (stiam ce sa caut).La mine merge :). asa arata ldd pe binar la mine (probabil se poate face si static :) ) linux-gate.so.1 => (0x0093c000) libc.so.6 => /lib/libc.so.6 (0x0095b000) /lib/ld-linux.so.2 (0x0093d000) #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <sys/types.h> #include <net/if.h> #include <netinet/in.h> #include <arpa/inet.h> int main(void) { struct ifreq ifr; struct sockaddr_in *sin = (struct sockaddr_in *)&ifr.ifr_addr; int sockfd; bzero(&ifr, sizeof(ifr)); if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket()"); return(-1); } strcpy(ifr.ifr_name, "eth0"); sin->sin_family = AF_INET; if(ioctl(sockfd, SIOCGIFADDR, &ifr) == 0) { printf("%s",inet_ntoa(sin->sin_addr)); } return 0; } //Cristian _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug