The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > High Level Programmering
.
google unix.com



High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
IP-adressen til maskinen harneet2004us UNIX for Advanced & ekspertbrukere 3 04-16-2008 05:54
Komme Unix maskin IP-adresse asutoshch Shell programmering og Skripting 6 04-30-2006 09:14
Slik henter IP-adressen til en maskin mridula IP Networking 5 11-02-2005 09:21
Begrense tilgang til en maskin med IP-adresse patch UNIX for Dummies Spørsmål og svar 2 10-20-2003 03:46
Endring Machine IP-adresse kkinnon UNIX for Advanced & ekspertbrukere 7 08-27-2002 03:17

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-25-2003
Ahsan Ahsan is offline
Registrert bruker
  
 

Bli Dato: Aug 2003
Sted: Australia
Innlegg: 9
Question Hvordan få IP-adressen til maskinen?

Er det noen API ringer for å få IP-adressen til en maskin? Jeg vet at det er funksjon som returnerer navnet på maskinen, gethostname (). Men jeg trenger IP.

Takk & hilsen
Ahsan
  #2 (permalink)  
Old 08-25-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9128
Se gethostbyname ()
  #3 (permalink)  
Old 10-10-2003
DreamWarrior DreamWarrior is offline
Registrert bruker
  
 

Bli Dato: Oct 2003
Innlegg: 70
Bump

Hei, kunne du være litt mer konkret på dette. Jeg leste mannen for gethostbyname og det synes å være tilbake en generisk interne format. Som må konverteres til et punktum notevisning IP-adresse, og jeg vet ikke hvordan du gjør det.

For å utvide dette litt, er det mulig å få informasjon fra en fil beskrivelse som er en socket. IE hvis bare informasjonen jeg har om tilkoblingen er filen beskrivelse, kan jeg få den sockaddr_in struktur fra det å passere til gethostbyname å deretter konvertere til en IP?

Takk!
  #4 (permalink)  
Old 10-12-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9128
Re: Bump

Sitat:
Originally posted by DreamWarrior
Hei, kunne du være litt mer konkret på dette. Jeg leste mannen for gethostbyname og det synes å være tilbake en generisk interne format. Som må konverteres til et punktum notevisning IP-adresse, og jeg vet ikke hvordan du gjør det.
Den beste løsningen på ting som dette er å surfe på noen kildekode. Det er massevis av kildekoden på internett. Og det finnes flere programmer som format IP-adresser. Men jeg er innesperret på kontoret venter på en teknisk, og jeg har ikke noe bedre å gjøre, så ...
Code:
#ifdef __STDC__
#define PROTOTYPICAL
#endif
#ifdef __cplusplus
#define PROTOTYPICAL
#endif

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <netdb.h>
#include <arpa/inet.h>


#ifdef PROTOTYPICAL
int main(int argc, char *argv[])
#else
main(argc,argv)
char *argv[];
#endif
{
	char *mess;
	struct hostent *hp;
	int dumpall;

	dumpall=0;
	while(*++argv) {
		if(!strcmp(*argv,(char *)"-d")) {
			dumpall=!dumpall;
			continue;
		}
		/*
		 *  Call gethostbyname for current argument
		 */
		if(! (hp = gethostbyname(*argv))) {
			switch(h_errno){
					case HOST_NOT_FOUND:  
						mess=(char *)"Not Found";
						break;
					case TRY_AGAIN:  
						mess=(char *)"Time Out";
						break;
					case NO_RECOVERY:  
						mess=(char *)"No Recovery";
						break;
					case NO_ADDRESS:  
						mess=(char *)"No Address";
						break;
					default: 
						mess=(char *)"unknown error";
						break;
			}
			printf("%s  %s\n", *argv, mess);

		} else {
			printf("%s  %s  %s \n", *argv, hp->h_name,
				inet_ntoa(*(struct in_addr *)(hp->h_addr)));
			if(dumpall) {
				printf("  addresses:\n");
				while(*(hp->h_addr_list)){
					printf("      %s \n", 
						inet_ntoa(*(struct in_addr *)*(hp->h_addr_list)++));
				}
				printf("  aliases:\n");
				while(*(hp->h_aliases)){
					printf("      %s \n",*(hp->h_aliases)++);
				} 
			}
		}
	}
	exit(0);
}

Dette skal arbeide med noen C eller C + + kompilatoren. Men jeg bare testet på HP-UX.

Sitat:
Originally posted by DreamWarrior

For å utvide dette litt, er det mulig å få informasjon fra en fil beskrivelse som er en socket. IE hvis bare informasjonen jeg har om tilkoblingen er filen beskrivelse, kan jeg få den sockaddr_in struktur fra det å passere til gethostbyname å deretter konvertere til en IP?

Takk!
YOW! Vi har 4 timers responstid.

Du kan ikke gjøre det portably og det krever root strøm. Se på kildekoden for lsof. Det virker sånn.

Men alle socketer strukturer store IP-adresse ikke domenenavn
  #5 (permalink)  
Old 10-16-2003
DreamWarrior DreamWarrior is offline
Registrert bruker
  
 

Bli Dato: Oct 2003
Innlegg: 70
Damn, den inet_ntoa fungerer ikke. Jeg vil i det minste kunne få IP etter en samtale til å akseptere på socket .... I'll go søker, med mindre du alle er lei, og kan hjelpe meg. Hvis jeg finner noe, jeg skal legge det opp ... Synd ingen rundt her som en god TCP for Unix boken.

BTW, bare ut av nysgjerrighet, du er i Rockville og bruke HP-UX maskiner, noen sjanse du er på en FAA kontrakt?

Sist endret av DreamWarrior; 10-16-2003 på 11:09..
  #6 (permalink)  
Old 10-16-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9128
Hvorfor vil ikke inet_ntoa arbeid? Det ser ut til å fungere når jeg prøver det. Post-koden din, kanskje jeg eller noen andre skal se noe. Og det er dusinvis av servere med kildekoden tilgjengelig for deg å finne på Internett. De fleste er i stand til å logge klient IP-adresser.

Den beste nettverksprogrammering boken er UNIX Network Programming av Rich Stevens.

Jeg vil ignorere din søken etter flere ledetråder til min identitet.
  #7 (permalink)  
Old 10-23-2003
ComPlayer ComPlayer is offline
Registrert bruker
  
 

Bli Dato: Oct 2003
Innlegg: 2
det er så vanskelig å lese kilden code.hehe.
Hva bør jeg gjøre for min første trinnet av læring C nettverksprogrammering?
kanskje det er ikke lett å besvare.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:32.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0