----- 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

Reply via email to