IP i Host wchodzcie;((

Wuja Oskar

Użytkownik
Dołączył
Maj 11, 2003
Posty
30
Czym sie rożni Host od IP>I jesli mam kogos IP to jak zdobuc jego Host.Wiem ze to jest lamerskie pytanie ale poprostu nie wiem>Prosze o pomoc
 

jaremo

Użytkownik
Dołączył
Kwiecień 29, 2003
Posty
63
1. IP to unikalny numer komputera w sieci, kazdy jest inny , nie moze byc dwoch takich samych numerow IP w jednej sieci bo wtedy byloby male zamieszanie
smile.gif

2. Host to komputer podlaczony do sieci ktory ma przyznany numer IP (kazdy host ma tez swoja nazwe np www.jestes.kompletna.lama.com.pl)
3. Jak sprawdzic nazwe hosta po numerze ip ? Np. programem LanGuard Wpisujesz numer ip i otrzymujesz np. cos takiego :
NETBIOS discovery ...
Done sending, waiting for responses ...
SNMP discovery ...
Community string : public
Done sending, waiting for responses ...
ICMP sweep ... (PING!)
Done sending, waiting for responses ...
PONG from 62.244.142.20
- Time to live (TTL) = 50 (64)
+ 14 hop(s) away
- ICMP code in response <> 0 => Unix box
- Timestamp Reply (62.244.142.20)
- ICMP UNREACH for closed port (62.244.142.20)
Ready
1 Computer(s) found.

[62.244.142.20]
Resolving 62.244.142.20...................................................................
.<--- to jest IP hosta

Resolved as : vip.pnet.pl....................................................................<--- to jest nazwa hosta
UDP scanning thread started ...
TCP scanning started ...[/b]

a jak ci to nie pomoze to sobie w delphim skompiluj cos takiego :
Kod:
function IPAddrToName(IPAddr : string): string; 

var 

 SockAddrIn: TSockAddrIn; 

 HostEnt: PHostEnt; 

 WSAData: TWSAData; 

begin 

 WSAStartup($101, WSAData); 

 SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); 

 HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); 

 if HostEnt<>nil then 

 begin 

  result:=StrPas(Hostent^.h_name) 

 end 

 else 

 begin 

  result:=''; 

 end; 

end; 





Potem wystarczy już tylko dać pod jakiś button ten kodzik: 





Host1.text:= IPAddrToName(Edit1.Text); 





Host1 to komponent Tedit 



Żeby usprawnić nasz prościutki program można dodać kod do Edita, w który wpisujemy adres IP. Pozwoli nam to wpisywać tylko cyfry i kropki.. 





procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 

begin 

if not (Key in ['0'..'9', '.']) then 

Key := #0; 

end; 





Dodatkowo można dodać procedurę, która nam poda adres IP na podstawie wpissanego DNSa... 





procedure TForm1.HostNaIP(Sender: TObject); 

type pu_long = ^u_long; 

var WSAData : TWSAData; 

HostEnt : PHostEnt; 

InAddr : TInAddr; 

begin 

if WSAStartup($101, WSAData)<>0 then 

Label2.Caption := 'Wystąpił ... 

else begin 

HostEnt:=GetHostByName(JakisEdit.Text); 

InAddr.S_addr:=u_long(pu_long(HostEnt^.h_addr_list^)^); 

Label2.Caption :=inet_ntoa(InAddr); 

end; 

WSACleanup; 

end; 







A oto cały listing prościutkiego programu.. 

Potrzebne: 

2 x TEdit 

1 x TButton 

2 x TLabel 



---------------------- 





unit Main; 



interface 



uses 

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls,winsock; 



type 

 TForm1 = class(TForm) 

  Edit1: TEdit; 

  Host1: TMemo; 

  Button1: TButton; 

  Label1: TLabel; 

  procedure Button1Click(Sender: TObject); 

  procedure Edit1KeyPress(Sender: TObject; var Key: Char); 

  procedure Edit1Click(Sender: TObject); 

 private 

  { private declarations } 

 public 

  { public declarations } 

 end; 



var 

 Form1: TForm1; 



implementation 



{ $R *.dfm } 



function IPAddrToName(IPAddr : string): string; 

var 

 SockAddrIn: TSockAddrIn; 

 HostEnt: PHostEnt; 

 WSAData: TWSAData; 

begin 

 WSAStartup($101, WSAData); 

 SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); 

 HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); 

 if HostEnt<>nil then 

 begin 

  result:=StrPas(Hostent^.h_name) 

 end 

 else 

 begin 

  result:=''; 

 end; 

end; 





procedure TForm1.Button1Click(Sender: TObject); 

begin 

// pobieranie DNSa 

Label1.Caption:= 'Czekaj...Trwa pobieranie danych'; 

Host1.text:= IPAddrToName(Edit1.Text); 

Label1.Caption := 'Pobieranie zakończone'; 

end; 



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 

begin 

if not (Key in ['0'..'9', '.']) then Key := #0; 

// Kod determinujący wpisywanie tylko cyfr i kropek.. 

end; 



procedure TForm1.Edit1Click(Sender: TObject); 

begin 

Edit1.Clear; 

// jeżeli klikniemy w Edit na adres IP zostanie on wyczyszczony 

end; 



end.

4. Pomyliles dzialy z tym pytaniem.
5. No comment
6. Kod pochodzi z www.programowanie.of.pl






[/code]
 

Chochlik

Użytkownik
Dołączył
Styczeń 10, 2003
Posty
391
Zgadzam sie z punktem trzecim poprzednika... a znajac kogos IP hosta mozna zdobyc latwo... Nawet w PowerGG w inwilglatorze jest taka opcja
 

Pee-wee

Użytkownik
Dołączył
Kwiecień 4, 2003
Posty
11
......

1. dobrym przykładem host'u i IP jest to co widać po lewej stronie po wejściu na tą stronkę musisz zjechać na dół i jest tam: "Twoję IP" i pod tym w kolejności następującej IP i pod nim host (twój oczywiście) 2.A co do zdobywania IP na podstawie hosta i odwrotnie najłatwiej power gginwigilatoradres IP(tam wpisujesz IP) czyjeś naciskasz IP-->host
i masz host danego IP a jeżeli na odwrót to wpisujesz host i naciskasz host-->IP i już

Pozdrowienia.....
 

Maverick

Użytkownik
Dołączył
Grudzień 1, 2002
Posty
190
W power gg masz w inwigilatorze pola "host" i "ip"
Jak wpiszesz hosta to mozesz z tego miec ip i viece versa. Nie musisz miec do tego goscia w kontaktach. Tak samo z whois.
Pozdrawiam
 

MaX

Użytkownik
Dołączył
Kwiecień 18, 2003
Posty
28
IP

Czy może wie ktoś jak za pomocą wiadomości e-mail sprawdzić czyjś IP,
sprostuje. Ktoś wysłał mi e-maila w outlooku przez żródło wiadomości można sprawdzić ip, host itp, czy na serweże jest taka możliwość.
Ale nie przez Outlooka tyjko na serwerze.
 
Do góry Bottom