프로그래밍
DNS Cache 캐시 도메인 조회
friday13th
2011. 6. 22. 17:07
DNS 캐시에서 도메인이 존재하는지 아래 함수로 체크할 수 있다.
BOOL DoesExistInDNSCache(const char *szDomain)
{
BOOL bFound = FALSE;
HMODULE hMod = LoadLibrary("dnsapi.dll");
if (hMod)
{
FN_DNS dns = (FN_DNS)GetProcAddress(hMod, "DnsGetCacheDataTable");
if (dns)
{
DNSCACHEENTRY *pEntry = NULL;
dns(&pEntry);
{
FN_DNS dns = (FN_DNS)GetProcAddress(hMod, "DnsGetCacheDataTable");
if (dns)
{
DNSCACHEENTRY *pEntry = NULL;
dns(&pEntry);
while(pEntry)
{
if (stricmp(pEntry->pszName, szDomain)==0)
{
bFound=TRUE;
break;
}
pEntry= pEntry->pNext;
}
}
FreeLibrary(hMod);
}
return bFound;
{
if (stricmp(pEntry->pszName, szDomain)==0)
{
bFound=TRUE;
break;
}
pEntry= pEntry->pNext;
}
}
FreeLibrary(hMod);
}
return bFound;
}
도메인 캐시를 삭제하기 위해서는 커맨드창에서 ipconfig /flushdns 를 치면 된다.
도메인 캐시를 보기 위해서는 ipconfig /displaydns