
word
//初始化SOCKETWSADATA wsaData;int iRet = WSAStartup(MAKE
word(2,1), &wsaData);if ( iRet != 0 ){printf( "WSAStartup Error:%d ", GetLastError() );exit( 0 );}int nRemoteAddr = inet_addr( argv[1] );remoteHostent= (struct hostent*)malloc( sizeof(struct hostent ));struct in_addr sa;for ( int i = 0; i numberOfHost; i ++ ){//获取远程机器名sa.s_addr = nRemoteAddr;printf( "
iPaddress : %s ", inet_ntoa( sa ) );remoteHostent = gethostbyaddr( (char*)&nRemoteAddr,4, AF_INET );if ( remoteHostent )printf( "HostName : %s ",remoteHostent-h_name );elseprintf( "gethostbyaddr Error:%d ",GetLastError() );//发送ARP查询包获得远程MAC地址
unsigned char maCADdress[6];ULONG maCADdLen = 6;iRet=SendARP(nRemoteAddr, (unsigned long)NULL,(PULONG)&maCADdress, &maCADdLen);if ( iRet == NO_ERROR ){printf( "MaCADdress: " );for( int i =0; i6; i++ ){printf( "%.2x", maCADdress[i] );if ( i5 ) printf( "-" );}printf( " " );}elseprintf( "SendARP Error:%d ", GetLastError());nRemoteAddr = htonl( ntohl( nRemoteAddr ) + 1 );}}