به دست آورن اطلاعات TCP

در این بخش می‌توانید در رابطه با شبکه و کلیه مباحث مربوط به آن بحث و تبادل نظر نمایید

مدیران انجمن: SHAHRAM, شوراي نظارت

ارسال پست
Administrator
Administrator
نمایه کاربر
پست: 15899
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72687 بار
سپاس‌های دریافتی: 31681 بار
تماس:

به دست آورن اطلاعات TCP

پست توسط Mahdi1944 »

با عرض پوزش خدمت دوستان باید پوزش من را در بروز نرساندن وبلاگ بپذیرید درگیر کارها شخصی بودم


آیا تاکنون از ابزار netstat استفاده کردهاید آن می خواهید بدانید این ابزار چگونه این اطلاعات را به دست می آورد؟

این نرم افزار برای به دست آوردن اطلاعات اتصالات TCP/UDP از دو تابع GetTcpTableو GetUdpTable استفاده می کند این دو تابع به صورت زیر عمل می کنند
DWORD GetTcpTable(
PMIB_TCPTABLE pTcpTable, // ساختاری برای نگهداشتن اطلاعات اتصالات
PDWORD pdwSize, // سايز ساختار
BOOL bOrder // آيا مرتب شود
);

مقدار اول اشاره دارد به ساختار PMIB_TCPTABLE که اطلاعات اتصالات را به شما میدهد این همان اطلاعاتی است که شما می توانید در netstat با استفاده از سوئیچ –a به آن برسید

این تابع در Iphlpapi.h وجود دارد و شما می توانید از آن استفاده کنیددر زیر مثالی آورده شده که از این روش برای به دست آوردن اطلاعات از آن استفاده کنيد
AnsiString mess,LocalIP,RemotIP,name;

GetTcpTable(NULL,&d,true);

pTcpTable = (PMIB_TCPTABLE)new char[d] ;

if( pTcpTable ){
if( GetTcpTable( (PMIB_TCPTABLE)pTcpTable,&d,true) == NO_ERROR ){
{

unsigned char *local_ip = (unsigned char * )&(pTcpTable->table[pTcpTable->dwNumEntries-1].dwLocalAddr);
p = (unsigned char * )&(pTcpTable->table[pTcpTable->dwNumEntries-1].dwLocalPort);
p1= pTcpTable->table[pTcpTable->dwNumEntries-1].dwLocalPort;

unsigned int local_port = *(p+0)*256 + *(p+1);

unsigned char *remote_ip = (unsigned char * )&(pTcpTable->table[pTcpTable->dwNumEntries-1].dwRemoteAddr);

p = (unsigned char * )&(pTcpTable->table[pTcpTable->dwNumEntries-1].dwRemotePort);
p2 = pTcpTable->table[pTcpTable->dwNumEntries-1].dwRemotePort;

unsigned int remote_port = *(p+0)*256 + *(p+1);


LocalIP=Format("%d.%d.%d.%d", ARRAYOFCONST((*(local_ip+0),
*(local_ip+1),*(local_ip+2),*(local_ip+3))));



RemotIP=Format("%d.%d.%d.%d", ARRAYOFCONST((*(remote_ip+0),
*(remote_ip+1),*(remote_ip+2),*(remote_ip+3))));
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
ارسال پست

بازگشت به “شبکه”