ПОдскажите пож. как программно (или хотя бы в каких файлах) получить инф. о том какой интерфейс какой сет. катрет соответствует а также информацию о МАК-адресе...
Спасибо
>ПОдскажите пож. как программно (или хотя бы в каких файлах) получить инф.
>о том какой интерфейс какой сет. катрет соответствует а также информацию
>о МАК-адресе...
>Спасибо
А какая ОС? Фалами не обойдешся(разве что в /proc).
man popen
man ifconfig
если пингвин ос ----> man netdevice
>ПОдскажите пож. как программно (или хотя бы в каких файлах) получить инф.
>о том какой интерфейс какой сет. катрет соответствует а также информацию
>о МАК-адресе...
>Спасибо
СПАСИБО БОЛЬШОЕ ВСЕМ...
НЕМНОГО УТОЧНЮ ВОПРОС.
Речь идет о Linux.
Нашел как получить всю инфу об интерфейсах, кроме как наименование карточки ("RTL8139" или "Intel ..." ). Если бы кто посоветовал в каком файле это посмотреть или как это получить программно (ссылка на пример кода) было бы оч. здорово.
Это что-то типа:
eth1 это RTL 8139
eth2 это Intel ...
Спасибо.
>>ПОдскажите пож. как программно (или хотя бы в каких файлах) получить инф.
>>о том какой интерфейс какой сет. катрет соответствует а также информацию
>>о МАК-адресе...
>>Спасибо
>
>
>СПАСИБО БОЛЬШОЕ ВСЕМ...
>НЕМНОГО УТОЧНЮ ВОПРОС.
>Речь идет о Linux.
>Нашел как получить всю инфу об интерфейсах, кроме как наименование карточки ("RTL8139"
>или "Intel ..." ). Если бы кто посоветовал в каком файле
>это посмотреть или как это получить программно (ссылка на пример кода)
>было бы оч. здорово.
>Это что-то типа:
>eth1 это RTL 8139
>eth2 это Intel ...
>Спасибо.Для пси-девайсов:
scanpci - список пси-девайсов
pcitweak - список того же но в другой форме + позволяет читать/писать инфу из pci-port'ов пси-девайсов.
/proc/pci
/proc/bus/pciЕсли карта встроенная, то эти средства видимо не помогут.
dmesg - высыпет то, что по загрузке компутера высыпает на консоль, там буит что-то типа:
eth0: blah blah RTL 8139ЗЫ: ifconfig/popen - самый переносимый и нормальный вариант получить инфу по интерфейсам, MAC например, жаль не все мона получить((
ЗЫЫ: у Стивенса написано как программно опросить параметры интерфейсов.
ЗЫЫЫ: Исчо в догонку: сетевые карты могут еще быть PCMCIA и не только.. :)
>ЗЫЫЫ: Исчо в догонку: сетевые карты могут еще быть PCMCIA и не
>только.. :)СПАСИБ ЗА ОТВЕТ.
НО, Вариант с dmesg не подходит....
А кто такой Стивенс, это книга наверно какая -то, если можно поподробней что это за книга. В принципе я уже все нашел что нужно в /proc кроме привязки интерфейса и названия карточки. ДУмаю только на PCI карточках остановится.
Спасибо
Народ может есть какие нить идеи, где посмотреть какому интерфейсу какая карточка соответствует (кроме dmesg) ...
>НО, Вариант с dmesg не подходит....Странно, dmesg не подходит, а /proc подходит.. что делать если /proc за неуплату
демонтируют враги? :)dmesg по крайней мере выдает следующее (если поискать :))
eth0: registered as PCnet/PCI II 79C970A
кстати, тоже самое мона найти в /var/log/messages>А кто такой Стивенс, это книга наверно какая -то, если можно поподробней
>что это за книга.
У.Р. Стивенс "UNIX. Разработка сетевых приложений" http://www.ozon.ru/context/detail/id/1390985/> В принципе я уже все нашел что нужно в /proc кроме привязки интерфейса и названия карточки. ДУмаю только на PCI карточках остановится.
утилита scanpci выдает название карт (по крайней мере у меня) и номера bus и т.п., которые надо поставить в соответствие инфе из /proc чтобы получить связь интерфейс-карта...
ЗЫ: честно говоря сам не нашел в свое время универсального решения - помешала разница в ядрах и утилитах к ним((
>>НО, Вариант с dmesg не подходит....
>
>Странно, dmesg не подходит, а /proc подходит.. что делать если /proc за
>неуплату
>демонтируют враги? :)
>
>dmesg по крайней мере выдает следующее (если поискать :))
>eth0: registered as PCnet/PCI II 79C970A
>кстати, тоже самое мона найти в /var/log/messages
>
>>А кто такой Стивенс, это книга наверно какая -то, если можно поподробней
>>что это за книга.
>У.Р. Стивенс "UNIX. Разработка сетевых приложений" http://www.ozon.ru/context/detail/id/1390985/
>
>> В принципе я уже все нашел что нужно в /proc кроме привязки интерфейса и названия карточки. ДУмаю только на PCI карточках остановится.
>
>утилита scanpci выдает название карт (по крайней мере у меня) и номера
>bus и т.п., которые надо поставить в соответствие инфе из /proc
>чтобы получить связь интерфейс-карта...
>ЗЫ: честно говоря сам не нашел в свое время универсального решения -
>помешала разница в ядрах и утилитах к ним((
Здрасте. Спасибоо за Инфу.
dmesg не подходит потому, что держит определенное кол-во послдених сообщений, т.е. после оперделенног опромежутка времени, я не смогу найти нужной информации :(
>dmesg не подходит потому, что держит определенное кол-во послдених сообщений, т.е. после
>оперделенног опромежутка времени, я не смогу найти нужной информации :(Согласен, хоть и не видел чтобы оттуда загрузочные записи пропадали. Опять же враги его могут обнулить :)
В fedora есть утилита, она выдает нужное, но это специфика fedora:
system-config-network-cmd -e eth0
>>dmesg не подходит потому, что держит определенное кол-во послдених сообщений, т.е. после
>>оперделенног опромежутка времени, я не смогу найти нужной информации :(
>
>Согласен, хоть и не видел чтобы оттуда загрузочные записи пропадали. Опять же
>враги его могут обнулить :)
>
>В fedora есть утилита, она выдает нужное, но это специфика fedora:
>system-config-network-cmd -e eth0Вообщем народ всем еще раз спасибо за все.
system-config-network-cmd -e eth0 - У меня такой штуки нет :(
(Red Hat 7.3, ALT Linux 2.4 Master)
Нарыл что привязка интерфейсов к модулям сетевой карты прописана в /etc/modules.conf
Но как бы все таки имя производителя получить....
>Вообщем народ всем еще раз спасибо за все.
>system-config-network-cmd -e eth0 - У меня такой штуки нет :(
>(Red Hat 7.3, ALT Linux 2.4 Master)Для redhat может быть redhat-config-network... хотя все равно не решение.
>Нарыл что привязка интерфейсов к модулям сетевой карты прописана в /etc/modules.conf
Именно что к модулям(драйверу), представь что у тебя две сетевые карты, производитель один и тот же, но карты немного разные по модели, но обслуживаются одним драйвером. Т.о. в /etc/modules.conf будет две таких записи (пример):
alias eth0 3c59x
alias eth1 3c59x
Сами карты при этом все-таки разные.. к тому же есть еще generic-драйвер..>Но как бы все таки имя производителя получить....
scanpci смотрел? там есть название..
>>Вообщем народ всем еще раз спасибо за все.
>>system-config-network-cmd -e eth0 - У меня такой штуки нет :(
>>(Red Hat 7.3, ALT Linux 2.4 Master)
>
>Для redhat может быть redhat-config-network... хотя все равно не решение.
>
>>Нарыл что привязка интерфейсов к модулям сетевой карты прописана в /etc/modules.conf
>
>Именно что к модулям(драйверу), представь что у тебя две сетевые карты, производитель
>один и тот же, но карты немного разные по модели, но
>обслуживаются одним драйвером. Т.о. в /etc/modules.conf будет две таких записи (пример):
>
>alias eth0 3c59x
>alias eth1 3c59x
>Сами карты при этом все-таки разные.. к тому же есть еще generic-драйвер..
>
>
>>Но как бы все таки имя производителя получить....
>scanpci смотрел? там есть название..
Посмотрел scanpci. У меня сейчас две машины в наличие с линухами
1) Встроеная сетевуха, там стоит Red hat 7.3
scanpci вообще ничего не видет2) НА другой машине под VMWare ALT LInux 2.4 МАSTER
scanpci увидел название, в ксадратных скобках назваие драйвера [PCnet32 LANCE]
Но в modules.conf он прописан как "pcnet32"т.е. проблема всякие там маленькие большие буквы и как же все таки быть при встроенной сетевухе.
ВСЕМ ЕЩЕ РАЗ СПАСИБО ЗА УЧАСТИЕ В ОБСУЖДЕНИИ.