<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как определить IP по домену!?</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html</link>
    <description>Помогите пожалуйста, гуглил но ничего подходящего не нашел.&lt;br&gt;Как определить IP по домену? А потом проверить принадлежит ли он к той или иной сети. Список сетей у меня есть.&lt;br&gt;По пингу ип определять не подходит. Вообще желательно максимально простое решение, что бы не пришлось пользоваться ни grep, ни sed, ни cut при получении IP. Т.к. мне нужно будет проверить более 4000 адресов на принадлежность к списку сетей.&lt;br&gt;</description>

<item>
    <title>Как определить IP по домену!? (Xaionaro)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#7</link>
    <pubDate>Thu, 18 Aug 2011 08:21:24 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; $ip_seg4   ) &amp; ~(((1 &amp;lt;&amp;lt; (32-$mask_digit)) -1)) )) &lt;br&gt;&amp;gt;    if &#091; $mask_val -eq $ip_val &#093; ;then &lt;br&gt;&amp;gt;       exit 0 &lt;br&gt;&amp;gt;    fi &lt;br&gt;&amp;gt; done &amp;lt; $MASK_FILENAME &lt;br&gt;&amp;gt; exit 1 &lt;br&gt;&amp;gt; Работает не шибко быстро, но лучше пока ничего нет.&lt;br&gt;&amp;gt; Вот к сожалению на bash нет аналога PHP функции gethostbyname(); , пришлось &lt;br&gt;&amp;gt; делать костыли через ПЫХ. Работает конечно быстро, но хотелось найти подобное &lt;br&gt;&amp;gt; решение но без php.&lt;br&gt;&lt;br&gt;Ну, возможно сильно тормозит из-за слишком большого кол-ва запусков awk. В bash есть такая клёвая переменная, как &quot;IFS&quot;, советую попробовать разбить на октеты через неё:&lt;br&gt;&lt;br&gt;xaionaro&#064;imperium:~$ cat &amp;gt;t.sh&lt;br&gt;oldIFS=&quot;$IFS&quot;&lt;br&gt;a=&apos;1.2.3.4&apos;&lt;br&gt;IFS=&apos;.&apos;&lt;br&gt;b=($a)&lt;br&gt;IFS=&quot;$oldIFS&quot;&lt;br&gt;&lt;br&gt;echo &quot;$&#123;b&#091;0&#093;&#125;-$&#123;b&#091;1&#093;&#125;-$&#123;b&#091;2&#093;&#125;-$&#123;b&#091;3&#093;&#125;&quot;&lt;br&gt;&lt;br&gt;xaionaro&#064;imperium:~$ chmod +x ./t.sh &lt;br&gt;xaionaro&#064;imperium:~$ ./t.sh &lt;br&gt;1-2-3-4&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как определить IP по домену!? (ImPressed)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#6</link>
    <pubDate>Thu, 18 Aug 2011 07:36:59 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Вот к сожалению на bash нет аналога PHP функции gethostbyname(); &lt;br&gt;&amp;gt;&amp;gt; А host, nslookup чем-то не устроили?&lt;br&gt;&amp;gt;&amp;gt; Ну и на всякий случай: &#091;b&#093;man 3 gethostbyname&#091;/b&#093;. ;) &lt;br&gt;&amp;gt; В это трудно поверить, но почему-то emerge на моём Gentoo отказывается искать &lt;br&gt;&amp;gt; данные пакеты, по этому и приходится изобретать велосипед ) &lt;br&gt;&lt;br&gt;открой для себя esearch, eix, equery&lt;br&gt;</description>
</item>

<item>
    <title>Как определить IP по домену!? (андрей)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#5</link>
    <pubDate>Wed, 17 Aug 2011 20:41:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Вот к сожалению на bash нет аналога PHP функции gethostbyname(); &lt;br&gt;&amp;gt;&amp;gt; А host, nslookup чем-то не устроили?&lt;br&gt;&amp;gt;&amp;gt; Ну и на всякий случай: &#091;b&#093;man 3 gethostbyname&#091;/b&#093;. ;) &lt;br&gt;&amp;gt; В это трудно поверить, но почему-то emerge на моём Gentoo отказывается искать &lt;br&gt;&amp;gt; данные пакеты, по этому и приходится изобретать велосипед ) &lt;br&gt;&lt;br&gt;данные программы принадлежать пакету net-dns/bind-tools&lt;br&gt;&lt;br&gt;чтобы узнать кто кому принадлежит используйте&lt;br&gt;&lt;br&gt;http://packages.gentoo.org/&lt;br&gt;</description>
</item>

<item>
    <title>Как определить IP по домену!? (Tozix)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#4</link>
    <pubDate>Wed, 17 Aug 2011 16:46:32 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Вот к сожалению на bash нет аналога PHP функции gethostbyname(); &lt;br&gt;&amp;gt; А host, nslookup чем-то не устроили?&lt;br&gt;&amp;gt; Ну и на всякий случай: &#091;b&#093;man 3 gethostbyname&#091;/b&#093;. ;) &lt;br&gt;&lt;br&gt;В это трудно поверить, но почему-то emerge на моём Gentoo отказывается искать данные пакеты, по этому и приходится изобретать велосипед )&lt;br&gt;</description>
</item>

<item>
    <title>Как определить IP по домену!? (allez)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#3</link>
    <pubDate>Wed, 17 Aug 2011 15:24:11 GMT</pubDate>
    <description>&amp;gt; Вот к сожалению на bash нет аналога PHP функции gethostbyname(); &lt;br&gt;&lt;br&gt;А host, nslookup чем-то не устроили?&lt;br&gt;Ну и на всякий случай: &#091;b&#093;man 3 gethostbyname&#091;/b&#093;. ;)&lt;br&gt;</description>
</item>

<item>
    <title>Как определить IP по домену!? (Tozix)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#2</link>
    <pubDate>Wed, 17 Aug 2011 15:08:33 GMT</pubDate>
    <description>Без заморочек именно само определение IP адреса, а сравнение на принадлежность к списку сетям уже выполнил с помощью AWK. Нарыл в интернете может кому полезно будет:&lt;br&gt;#!/bin/bash&lt;br&gt;IP=$1&lt;br&gt;MASK_FILENAME=&quot;ip_tasix&quot; #файл со списком подсетей&lt;br&gt;while read line ; do&lt;br&gt;   ip=$(echo $line &amp;#124; awk -F &apos;/&apos; &apos;&#123; print $1 &#125;&apos;)&lt;br&gt;   mask_digit=$(echo $line &amp;#124; awk -F &apos;/&apos; &apos;&#123; print $2 &#125;&apos; )&lt;br&gt;   mask_seg1=$(echo $ip &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $1 &#125;&apos; )&lt;br&gt;   mask_seg2=$(echo $ip &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $2 &#125;&apos; )&lt;br&gt;   mask_seg3=$(echo $ip &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $3 &#125;&apos; )&lt;br&gt;   mask_seg4=$(echo $ip &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $4 &#125;&apos; )&lt;br&gt;&lt;br&gt;   ip_seg1=$(echo $IP &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $1 &#125;&apos; )&lt;br&gt;   ip_seg2=$(echo $IP &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $2 &#125;&apos; )&lt;br&gt;   ip_seg3=$(echo $IP &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $3 &#125;&apos; )&lt;br&gt;   ip_seg4=$(echo $IP &amp;#124; awk -F &apos;.&apos; &apos;&#123; print $4 &#125;&apos; )&lt;br&gt;&lt;br&gt;   mask_val=$(( ( ($mask_seg1 &amp;lt;&amp;lt; 24) + ($mask_seg2 &amp;lt;&amp;lt; 16) + ($mask_seg3 &amp;lt;&amp;lt; 8) + $mask_seg4 ) &amp; ~(((1 &amp;lt;&amp;lt; (32-$mask_digit)) -1)) ))&lt;br&gt;   ip_val=$(( ( ($ip_seg1   &amp;lt;&amp;lt; 24) + ($</description>
</item>

<item>
    <title>Как определить IP по домену!? (allez)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9222.html#1</link>
    <pubDate>Wed, 17 Aug 2011 14:37:14 GMT</pubDate>
    <description>&amp;gt; Помогите пожалуйста, гуглил но ничего подходящего не нашел.&lt;br&gt;&amp;gt; Как определить IP по домену? &lt;br&gt;&lt;br&gt;Например, утилитами &#091;b&#093;host&#091;/b&#093;, &#091;b&#093;nslookup&#091;/b&#093;, &#091;b&#093;dig&#091;/b&#093;.&lt;br&gt;&lt;br&gt;&amp;gt; А потом проверить принадлежит ли он к той или иной сети. Список сетей у меня есть.&lt;br&gt;&amp;gt; &#091;...&#093; Вообще желательно максимально простое решение, что &lt;br&gt;&amp;gt; бы не пришлось пользоваться ни grep, ни sed, ни cut при &lt;br&gt;&amp;gt; получении IP. Т.к. мне нужно будет проверить более 4000 адресов на &lt;br&gt;&amp;gt; принадлежность к списку сетей.&lt;br&gt;&lt;br&gt;И как вы себе представляете поиск по списку без &#091;b&#093;grep&#091;/b&#093;, &#091;b&#093;sed&#091;/b&#093; или, скажем, &#091;b&#093;awk&#091;/b&#093;? &lt;br&gt;&quot;Узким местом&quot; в вашей задаче являются вовсе не они, а сетевые утилиты, которые будут &lt;br&gt;ожидать ответ от серверов, находящихся в интернете.&lt;br&gt;&lt;br&gt;К слову сказать, &quot;более четырех тысяч адресов&quot; - это, извините, тьфу и растереть. Около часа &lt;br&gt;работы даже не при самом быстром и отзывчивом канале.&lt;br&gt;</description>
</item>

</channel>
</rss>
