nixp.ru v3.0

24 января 2017,
вторник,
14:04:32 MSK

DevOps с компанией «Флант»
My-SQL написал 7 января 2005 года в 23:35 (411 просмотр) Ведет себя неопределенно; открыл 4 темы в форуме, оставил 1 комментарий на сайте.

Какой функцией на Ц получить список IP-адресов на локальной машине?

Genie

взять исходники ifconfig, или ip, и поглядеть, как это делается там.

заодним, подумать, а какие же ip адреса — IPv4 или IPv6 хотелось?

впрочем, по мере разглядывания исходников, если конечно же они достаточно свежие, появятся и некоторые другие детали, требующие уточнения…

ps: а скорее всего, проще прочитать в буфер и разобрать вывод команды типа

ifconfig|awk '/^ +inet addr:/{split($2,a,":");print a[2]}'
My-SQL

ifconfig смотрел, он немаленький — разбираться долго. Потому прошу совета.

Указанный метод очень хорош для шела, но для компиленой проги не очень красиво.

Подёргал gethostbyaddr() для 127.0.0.1 — не то.

Несмотря на почти пятилетний возраст поддержки IPv6 во FreeBSD, IPv4 жил, жив и будет жить (ещё очень долго). Так что интересен только IPv4.

Yorik

…А Уильяма Стивенса не пробовал читать?:

1.Advanced programming in UNIX environment

2.UNIX: разработка сетевых приложений

особенно вторую

также полезно покопаться в библиотеке pcap

sas

Куча информации в сети. Посмотрите обсуждение хоть здесь:

http://lists.debian.org/debian-user/2003/03/msg03625.html

Удачи

— sas

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.