The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > High Level Programming
.
google unix.com



High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
IP-adressen för maskinen harneet2004us UNIX för avancerade & Expertanvändare 3 04-16-2008 04:54
Få Unix maskin IP-adress asutoshch Shell-programmering och Skript 6 04-30-2006 08:14
hur man hämtar IP-adressen för en maskin mridula IP Nätverk 5 11-02-2005 09:21
Begränsa åtkomst till en dator med IP-adress patch UNIX for Dummies Frågor & Svar 2 10-20-2003 02:46
Ändra Machine IP-adress kkinnon UNIX för avancerade & Expertanvändare 7 08-27-2002 02: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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-25-2003
Ahsan Ahsan is offline
Registered User
  
 

Join Date: Aug 2003
Ort: Australien
Inlägg: 9
Question Hur får man IP-adressen till datorn?

Finns det någon API ring för att få IP-adressen för en dator? Jag vet att det är funktionen som visar namnet på den maskin gethostname (). Men jag behöver undersökningsperioden.

Tack & Regards,
Ahsan
  #2 (permalänk)  
Old 08-25-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.111
Se gethostbyname ()
  #3 (permalänk)  
Old 10-10-2003
DreamWarrior DreamWarrior is offline
Registered User
  
 

Join Date: oktober 2003
Inlägg: 70
bump

Hej, kan ni vara lite mer specifik på denna. Jag läste mannens sida för gethostbyname och det verkar vara att returnera en generell inre adressformatet. Som måste omvandlas till en dot notation IP-adress, och jag vet inte hur man gör det.

Dessutom, för att förlänga en bit, är det möjligt att få information från en fil deskriptor som är en socket. Det vill säga om den enda uppgift jag har om anslutningen filen deskriptor, kan jag få sockaddr_in struktur från att övergå till gethostbyname att sedan omvandla en IP?

Tack!
  #4 (permalänk)  
Old 10-12-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.111
Re: bump

Citat:
Ursprungligen postat av DreamWarrior
Hej, kan ni vara lite mer specifik på denna. Jag läste mannens sida för gethostbyname och det verkar vara att returnera en generell inre adressformatet. Som måste omvandlas till en dot notation IP-adress, och jag vet inte hur man gör det.
Den bästa lösningen för att saker som detta är att bläddra i några källkod. Det finns en ton av källkod på Internet. Och det finns flera program som format IP-adresser. Men jag är instängd på kontoret och väntar på en teknik, och jag inte har något annat att göra, så ...
Kod:
#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);
}
Detta borde arbeta med något C eller C + + kompilator. Men jag bara testats på HP-UX.

Citat:
Ursprungligen postat av DreamWarrior

Dessutom, för att förlänga en bit, är det möjligt att få information från en fil deskriptor som är en socket. Det vill säga om den enda uppgift jag har om anslutningen filen deskriptor, kan jag få sockaddr_in struktur från att övergå till gethostbyname att sedan omvandla en IP?

Tack!
Yow! Vi har 4 timmars svarstid.

Du kan inte göra det portably och det oftast kräver root-behörighet. Titta på källkoden för lsof. Det gör sådana saker.

Men alla uttag strukturer lagra IP-adress inte domännamn
  #5 (permalänk)  
Old 10-16-2003
DreamWarrior DreamWarrior is offline
Registered User
  
 

Join Date: oktober 2003
Inlägg: 70
Fan, det inet_ntoa kommer inte att fungera. Jag vill åtminstone kunna få IP efter en uppmaning att acceptera om uttaget .... Jag ska gå att söka om du inte alla är uttråkade och kan hjälpa mig. Om jag hittar något, jag ska skicka upp det ... Synd att ingen här som ett bra TCP för Unix bok.

BTW, bara av nyfikenhet, du är i Rockville och använda HP-UX maskiner, någon chans att du är på en FAA kontraktet?

Senast redigerad av DreamWarrior; 10-16-2003 vid 10:09..
  #6 (permalänk)  
Old 10-16-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.111
Varför kommer inte inet_ntoa arbete? Det verkar fungera när jag prova den. Skicka ditt nummer, kanske jag eller någon annan kommer att se något. Och det finns massor av servrar med källkoden tillgänglig för dig att hitta på Internet. De flesta har möjlighet att logga klient IP-adresser.

Det bästa nätverket programmering boken UNIX Network Programming av Rich Stevens.

Jag kommer att strunta i din strävan efter ytterligare ledtrådar om min identitet.
  #7 (permalänk)  
Old 10-23-2003
ComPlayer ComPlayer is offline
Registered User
  
 

Join Date: oktober 2003
Inlägg: 2
det är så svårt att läsa din källa code.hehe.
Vad ska jag göra för mitt första steg att lära sig C nätverk programmering?
kanske det är inte lätt att besvara.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:07.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0