سلام
چطوری میشه مشخصات یک IP رو بدست آورد؟
توابع API مربوط به IP چیا هستند؟
Printable View
سلام
چطوری میشه مشخصات یک IP رو بدست آورد؟
توابع API مربوط به IP چیا هستند؟
پست تکراریه قبلا مطرح شده، جستجوش کن.
برای راهنمایی از Indy می تونی استفاده کنی.
والا من دفعه قبل هم بدون جستجو تاپیک نزدم.
این دفعه هم که جستجو کردم فقط این تاپیک رو پیدا کردم که شما همین جواب رو داده بودید
اگه ممکنه توضیح بیشتری بدید که چه توابعی از این کامپوننت و چطوری این کارو میکنه؟کد:http://forum.p30world.com/showthread.php?t=434886&highlight=%D8%AF%D9%84%D9%81%DB%8C
من دموهای Indy رو هم دارم اما متوجه نمیشم که کدام برای این کار است. چون نمیدونم کدام تابع چنین کاری میکنه.
تابع:
روش استفاده:کد:uses Winsock;
function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean;
type
Name = array[0..100] of Char;
PName = ^Name;
var
HEnt: pHostEnt;
HName: PName;
WSAData: TWSAData;
i: Integer;
begin
Result := False;
if WSAStartup($0101, WSAData) <> 0 then begin
WSAErr := 'Winsock is not responding."';
Exit;
end;
IPaddr := '';
New(HName);
if GetHostName(HName^, SizeOf(Name)) = 0 then
begin
HostName := StrPas(HName^);
HEnt := GetHostByName(HName^);
for i := 0 to HEnt^.h_length - 1 do
IPaddr :=
Concat(IPaddr,
IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
SetLength(IPaddr, Length(IPaddr) - 1);
Result := True;
end
else begin
case WSAGetLastError of
WSANOTINITIALISED:WSAErr:='WSANotInitialised';
WSAENETDOWN :WSAErr:='WSAENetDown';
WSAEINPROGRESS :WSAErr:='WSAEInProgress';
end;
end;
Dispose(HName);
WSACleanup;
end;
این چیزی رو که نوشتم امتحان کن ببین جواب میده یا نه؟ روی کامپیوتری که دارم کار می کنم در حال حاضر دلفی ندارم امتحانش کنم. اگر درست کار کرد یا نکر اطلاع بده.کد:procedure TForm1.Button1Click(Sender: TObject);
var
Host, IP, Err: string;
begin
if GetIPFromHost(Host, IP, Err) then begin
Edit1.Text := Host;
Edit2.Text := IP;
end
else
MessageDlg(Err, mtError, [mbOk], 0);
end;
ممنون، اما من اینو قبلا تست کردم.
این فقط اسم اون سیستم رو میده.
من میخوام مشخصات بیشتری بگیرم.
مثلا آیا این IP قابل ریموت هست یا خیر؟
در مورد چیزی که خواستی اطلاعات ندارم، نمی دونم ریموت کردن یعنی چی؟! اگر ممکنه هم در مورد ریموت کردن توضیح بده هم کلا چیزایی که می خوای رو بگو و توضیح بده، شاید تونستم اطلاعات بدردبخوری بهت بدم. این چیزی که میخوای واسه خودمم جالبه یاد بگیرم.
مرسی
منظورم ریموت دسکتاپ هست.
مثلا شما عضوی از یک شبکه هستی و میخوای بدونی کدام یکی از کلاینت ها قابل ریموت هست.
کلاینت هارو لیست میکنی و بعد میگردی ببینی کدوم قابل ریموت هست.
وفتی برنامش رو نوشتم، میزارم اینجا که شما هم استفاده کنی.
موفق باشید.
شما برنامه اي ميخواي که کامپيوترهاي شبکه رو اسکن کنه و هر کامپيوتري که روشن هست و به شبکه وصل هست رو شناسايي کنه. اما مشکل اينجا است که اگر فايروال نرم افزاري يا سخت افزاري در شبکه فعال باشه از شناسايي کامپيوترها جلوگيري ميکنه.نقل قول:
برنامه اي که در لينک زير مشاهده ميکنيد، نياز شما رو برآورده ميکنه:
کد:http://www.delphitricks.com/source-code/internet/get_a_list_of_computers_in_a_network.html
ممنون اما خیلی دیر بود !
اینم برنامه ای که من نوشتم.
کد:http://www.4shared.com/file/2V6NOQ7J/RDTEST.html