Russian Qt Forum
Сентябрь 25, 2024, 23:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MAC-адресс сетевых устройтсв  (Прочитано 4755 раз)
bez_glaz
Гость
« : Август 22, 2012, 16:37 »

Добрый день.
В общем есть у меня программка, в которой нужно, создавая TCP соединение к  устройству, вывести некую информацию от нём. И тут же должен быть и MAC-адресс. Сколько искал внятного ответа не нашёл. По теме нашёл http://www.prog.org.ru/topic_15343_0.html, как решение "в обход" я считаю. Но и тут не получилось
Код:
        console = new QProcess();
        console->start(QString::fromUtf8("/usr/share/applications/Терминал"),QStringList() << "nmap 192.168.0.108");
        console->waitForReadyRead();
        qDebug() << console->readAllStandardOutput();
Ничего не выводит и в дереве процессов ничего не добавляется. Может я не правильно пытаюсь реализовать этот метод ? Или есть другой способ решение моей проблемы по вычислению мака, зная TCP-соединение?
Записан
Bepec
Гость
« Ответ #1 : Август 22, 2012, 16:46 »

А вы посмотрите, процесс вообще запускается? state() посмотрите.

А с моментальным выводом в дебаг вы, думаю, поспешили. Мгновенно процесс скорее всего и не запустится Улыбающийся
Насколько я помню сигнал readyReadStandardOutput () сигнализирует о выводе данных.
Записан
andrew.k
Гость
« Ответ #2 : Август 22, 2012, 20:41 »

запускать надо /bin/sh

Код
C++ (Qt)
console->start("/bin/sh -c nmap 192.168.0.108");
« Последнее редактирование: Август 22, 2012, 20:43 от andrew.k » Записан
NicK
Гость
« Ответ #3 : Август 23, 2012, 12:31 »

Использование nmap только для определения MAC-адреса - слишком избыточно.
Думаю, гораздо проще брать mac из arp-таблицы, для этого сторонние утилиты вообще не нужны.  Подмигивающий
Записан
andrew.k
Гость
« Ответ #4 : Август 23, 2012, 12:48 »

Использование nmap только для определения MAC-адреса - слишком избыточно.
Думаю, гораздо проще брать mac из arp-таблицы, для этого сторонние утилиты вообще не нужны.  Подмигивающий
в arp-таблице его может и не оказаться.
и разве в ней присутствует запись о собственных интерфейсах? вроде нет.
« Последнее редактирование: Август 23, 2012, 12:50 от andrew.k » Записан
NicK
Гость
« Ответ #5 : Август 23, 2012, 13:11 »

Использование nmap только для определения MAC-адреса - слишком избыточно.
Думаю, гораздо проще брать mac из arp-таблицы, для этого сторонние утилиты вообще не нужны.  Подмигивающий
в arp-таблице его может и не оказаться.
и разве в ней присутствует запись о собственных интерфейсах? вроде нет.

Я так понял, что речь идет об удаленных сетевых устройствах.
А собственные MAC-адреса можно получить через QNetworkInterface, для чего, опять же, nmap не нужен.
Записан
andrew.k
Гость
« Ответ #6 : Август 23, 2012, 13:23 »

Использование nmap только для определения MAC-адреса - слишком избыточно.
Думаю, гораздо проще брать mac из arp-таблицы, для этого сторонние утилиты вообще не нужны.  Подмигивающий
в arp-таблице его может и не оказаться.
и разве в ней присутствует запись о собственных интерфейсах? вроде нет.

Я так понял, что речь идет об удаленных сетевых устройствах.
А собственные MAC-адреса можно получить через QNetworkInterface, для чего, опять же, nmap не нужен.
Возможно, я как-то не подумал.
Тогда да, хорошая мысль. Только если так, то непонятно зачем это нужно. Т.к. если адреса из друго сегмента сети, то и мак-адресов не будет. Где их возьмешь то, да и зачем?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Август 23, 2012, 17:07 »

запускать надо /bin/sh

Код
C++ (Qt)
console->start("/bin/sh -c nmap 192.168.0.108");

даже без /bin/sh Улыбающийся

Код
C++ (Qt)
console->start("nmap 192.168.0.108");
Записан
andrew.k
Гость
« Ответ #8 : Август 23, 2012, 17:53 »

запускать надо /bin/sh

Код
C++ (Qt)
console->start("/bin/sh -c nmap 192.168.0.108");

даже без /bin/sh Улыбающийся
В натуре, че-то не сообразил)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.114 секунд. Запросов: 23.