Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сканер, Как узнать ip и mac по сети ? 
:(
    Опции темы
lenin_yo
Дата 7.10.2007, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Нужна функция с помощью которой можно узнать айп и мак всех пользователей сети.
Может у кого есть идеи как ее написать?Или мож ктото пытался сделать чтото подобное?
PM MAIL   Вверх
GrayCardinal
Дата 7.10.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 3
Всего: 58



Под линем есть такая вещь - "nmblookup" ($ nmblookup "*"). Под виндой - не знаю.......

Это сообщение отредактировал(а) GrayCardinal - 7.10.2007, 12:28


--------------------
PM MAIL WWW   Вверх
jonie
Дата 8.10.2007, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



зная IP можно узнать MAC и наоборот. Поищи про ARP прооткол.
Зная маску можно узнать теоретическое количество ip выделенных на подсеть...
имея сниффер можно проследить сетевую активность (и получить ip и MAC=и хостов (усложняется если вы за машрутизатором)).
а вот прям таких :
Цитата

Нужна функция с помощью которой можно узнать айп и мак всех пользователей сети.
несуществует.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
lenin_yo
Дата 9.10.2007, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Если есть ip выделеные на подсеть сеть,то это совсем не означает, что все они задействованы. Разве что пинговать все по очереди, создавать базу офигенных размеров.И все же необходима функция для определения мака.
Возможно чето типа GetHostInfo.. 
PM MAIL   Вверх
SenkraD
Дата 9.10.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 1
Всего: 23



lenin_yo, это подходит?


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
lenin_yo
Дата 9.10.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Цитата

это подходит?

Это не совсем то, мне необходима ф-ция для определения мака сетевого компа.
PM MAIL   Вверх
lenin_yo
Дата 9.10.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



А вот ARP похоже то что нужно.Только ща попробую с этим протоколом разобраться.
Таблицу arp можно просмотреть с помощью cmd. Ввести arp с флагом -а.
Осталось, только росчехлить, как со своей программы получить эту таблицу.

Может кто поможет? smile 

Это сообщение отредактировал(а) lenin_yo - 9.10.2007, 15:02
PM MAIL   Вверх
jonie
Дата 9.10.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



кодгда-то для себя писал такое :
Код

#include <stdio.h>
// IP helper funct
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iphlpapi.h>

#define SIZEOF(x) sizeof(x)/sizeof(x[0])

#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"iphlpapi.lib")


/*
    Get MAC from IP (using IPHelper function)
    params : targetIP
*/
int main(int argc, char **argv)
{
    try{
        if(argc<2){
            
            throw L"USAGE : ip2mac.exe IP_ADDR";
        }
        ULONG AddrLen=6;
        ULONG MacAddr[2];
        IPAddr ipaddr = inet_addr(argv[1]);
        memset(MacAddr,0xFF,sizeof(MacAddr));
        if(SendARP(ipaddr,0,MacAddr,&AddrLen)!= NO_ERROR) throw L""/*(L"SendARP Failed!")*/;
        PBYTE lpMAC = reinterpret_cast<PBYTE>(MacAddr);
        for(;AddrLen;AddrLen--,lpMAC++){
            wprintf(L"%02X",*lpMAC);
        }
    }
    catch(TCHAR* mes){
        fwprintf(stderr,L"%s",mes);
        return 1;
    }
    catch(...){
        fwprintf(stderr,L"Unexcepted Error!");
        return 1;
    }
    return 0;
}

мб поможет чем)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
lenin_yo
Дата 10.10.2007, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



SendARP и IPAddr не распознаются.
iphlpapi.h и iphlpapi.lib скачал и закинул в папку с С++.
Может это из за того, что у меня компилятор 5.02?
PM MAIL   Вверх
jonie
Дата 12.10.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Цитата

Может это из за того, что у меня компилятор 5.02?
лучше всеже юзать компилятор С\С++ языка....
Цитата

SendARP и IPAddr не распознаются.
 ?
код рабочий. ищите нормальный компилятор и т.д. т.п.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.