LINUX.ORG.RU

ipcalc — определить начальный и конечный диапазон адресов

 , ,


0

1

ipcalc может понадобиться если нужно узнать начальный и конечный адрес сети зная адрес и маску. Также отображается количество хостов доступных в сети. В случае ошибки выводится список разрешённых масок.

Подробности

Перемещено Falcon-peregrinus из opensource

Перемещено Falcon-peregrinus из talks



Последнее исправление: Psych218 (всего исправлений: 2)

Аналогичных утилит в сети полно.

DeadEye ★★★★★
()

выводиться весть

в каком из двух слов ошибка? судя по всему в обоих =(

Kompilainenn ★★★★★
()

Ещё один хеллоуворлд от автора translate и полуадекватного поиска по rfc, где viewer зовётся edit'ором, а автор не понимает, в чём разница. Джва года ждал.

На сей раз оно даже дотфайлами в хомяк не срёт. Прогресс.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)

u0atgKIRznY5, смотри, тут на лоре есть вот такой форум Development и ещё вот talks. Вовсе не обязательно всеми своими студенческими поделками на 200 строк срать в новости. Ну хватит уже, правда.

Вопрос не к автору, но к лоровцам и особенно к модератором, подтвердившим предыдущие две: вы, блин, серьёзно? Вам нравятся такие новости? Если да, то постить ли мне завтра «Вычисление факториалов теперь доступно в командной строке!», «Поиск простых чисел в заданном диапазоне бесплатно без СМС!», «Создание торрента из музыкального альбома с перекодированием!» (хотя последнее наверное уже слишком сложно), или подождать?

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)

Кстати полный аналог этого на питоне занимает 18 строк кода. Это с учётом требований к читабельности кода и без всяких хаков. Если заюзать большой некрасивый генератор, то 12 получается. Зачем в таких задачах использовать си, когда производительность не имеет значения, загадка.

Psych218 ★★★★★
()
Ответ на: комментарий от Psych218

Вопрос не к автору, но к лоровцам и особенно к модератором, подтвердившим предыдущие две: вы, блин, серьёзно?

Вторая же в Development пошла.

theNamelessOne ★★★★★
()
Ответ на: комментарий от Psych218

Вопрос не к автору, но к лоровцам и особенно к модератором, подтвердившим предыдущие две: вы, блин, серьёзно? Вам нравятся такие новости?

Всё нормально это же Falcon-peregrinus.

А вообще да, есть такие люди, которые глядя, на совершенно мусорный проект с кодом, который даже до звания быдлокода не дотягивает, начинают говорить «интересно, нужно». Бывает, что сами ещё на лопате туда чуть-чуть внесут. Хотя нормальный человек может только материться на такое - не более, или с нуля переписать.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от Psych218

Это что за программа на python с 18 строками? Она медленнее выполнится чем моя в 222 строки? Си быстрее python'а. Всё понятно, я любитель быстрого, а ты любитель медленного. Странно, когда людям нравиться заведомо медленное выполнение программы, наверное чтобы ничего не пропустить при выполнении. На си хоть операционные системы можно писать, а на python'е что? Наверное что-то в этом роде.

«Вычисление факториалов теперь доступно в командной строке!», «Поиск простых чисел в заданном диапазоне бесплатно без СМС!», «Создание торрента из музыкального альбома с перекодированием!»

Или ты уже python'ом не пользуешься? Мои программы могут кому то понадобиться. А ты ничего не выкладываешь, не приносишь пользу себе и за одно пользователям лора. Твой вклад только обсуждать чей то код или идею. Новости о новых программах это намного лучше, потому что можно что-то полезное скачать, а то что ты узнаешь выходе обновлений каких-то программ, так это никакой новинки, так, только обновление. Может ты и пишешь программы, но я незнаю о них. А мои уже знают. Только не выкладывай те что ты написал, это из твоих последних разработок?

u0atgKIRznY5
() автор топика

Не понимаю людей, которые пользуются всяческими ip калькуляторами.

anonymous
()
Ответ на: комментарий от anonymous

Ну незнаешь или не помнишь например как вычислить нужное количество хостов в сети. Например у тебя локальная сеть из двух компьютеров, тогда не обязательно делать маску, будто у тебя все 253 хоста будут в сети. Тогда маски 255.255.255.248 вполне хватит.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от aspel

У меня программа тоже готовая. Только в твоём случае нужно водить мышкой и выбирать нужный сайт, а в моём случае открыть терминал ctrl + alt + t, написать ipcalc адрес маска и всё.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Странно, когда людям нравиться заведомо медленное выполнение программы, наверное чтобы ничего не пропустить при выполнении

А где может пригодиться сверхбыстрое вычисление начального и конечного адреса сети?

Deleted
()
Ответ на: комментарий от u0atgKIRznY5

У меня программа тоже готовая

Её ещё и компилить надо, для компиляции надо устанавливать утилиты.

1. apt install ipcalc
2. ipcalc адрес маска и всё.
. ??????

Deleted
()
Ответ на: комментарий от Deleted

У тебя сколько одновременно процессов работает? Планировщику нужно выделить каждому процессу некоторое время на выполнение. На сверхбыстром вычислении процессору нужно меньше раз обратиться к коду, а раз переключение между процессами весьма ресурсоёмкая задача, то лучше использовать то, что быстрее выполнит свою задачу. И когда завершится выполнение ipcalc, процессор займётся обработкой других процессов.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от Deleted

Ну это пока, ubuntu удобна несомненно. Но может тебе захочется потом большего, например научится настраивать ядро, либо последние обновления ядра захочется установить, тогда ubuntu не подойдёт. Вот интересная история. Я как то использовал код sphinx для распознования голоса. На нетбуке sphinx, который принимал команды и отправлял на компьютер. Можно было настроить на просмотр случайных юмористических передач, фильмов, запуск программ. Что-то нужно, просто сказал, программа в режиме демона поняла и так далее. Любая статистика, любые данные могли быть отображены лишь только нужно было сказать заветное слово (ничего не печатая).

u0atgKIRznY5
() автор топика

Велосипедостроение во всей своей красе.

melkor217 ★★★★★
()

У обычного ipcalc возможностей намного больше, в частности есть нарезка и агрегация сетей.
http://jodies.de/ipcalc

bormant ★★★★★
()
Ответ на: комментарий от Radjah

Может и мне свои говнопарсеры выкладывать начать?

Конечно! Только называй их соответственно:

  • ls
  • mc
  • print
  • hello-world

Чтобы показать несомненную ценность и нужность. Вот все пользуются каким-то «mc», значит и твоим «mc» пользоваться будут. Сила привычки, ёпта, и узнаваемость «брэнда».

justAmoment ★★★★★
()
Ответ на: комментарий от Radjah

wget-ng :D

Ты что?? Нет, конечно. Ещё подумают, что подделка какая-то. Сказали «wget» — значит «wget».

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

по ipcalc можно понять хотя бы что это ip calculate, а mc это только если знаешь. Из всех лоровцев вас несколько только так написали. Значит вы меньшинство. А это не плохо.

u0atgKIRznY5
() автор топика

Молодец, на самом деле. Даже завидую как ты радуешься своему велосипеду.

Я бывает нашкодю что-то, порадуюсь денёк, похожу в эйфории. А потом начинаю замечать недостатки, и чем больше о коде думаю, сравниваю, читаю, тем больше их становится. Наконец, их становится столько, что даже стыдно перед собой, что я так гордился своим «я сделяль».

Deleted
()
Ответ на: комментарий от Deleted

Как писал Столяров.

Программисты это извращенцы, которые получают удовольствие от написания кода.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

по ipcalc можно понять хотя бы что это ip calculate, а mc это только если знаешь. Из всех лоровцев вас несколько только так написали. Значит вы меньшинство. А это не плохо.

Да я только рад, когда программа исполняет то что задумано и на 100% правильно. Вопрос только в том, зачем ты её назвал «ipcalc»? Ну назови её «ip-4-b-calc» или «ip v4 binary calculator». Ты же когда на авторынок/салон придешь купить/продать автомобиль не будешь оперировать термином «машина/тачка», а будешь называть вполне конкретные модели «паджерик/равчик/крузер такого то года».

justAmoment ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5
ipcalc --help

IP Calculator 0.41

Enter your netmask(s) in CIDR notation (/25) or dotted decimals
(255.255.255.0). Inverse netmask are recognized. If you mmit the
netmask, ipcalc uses the default netmask for the class of your
network.

Look at the space between the bits of the addresses: The bits before
it are the network part of the address, the bits after it are the host
part. You can see two simple facts: In a network address all host bits
are zero, in a broadcast address they are all set.

The class of your network is determined by its first bits.

If your network is a private internet according to RFC 1918 this is
remarked. When displaying subnets the new bits in the network part of
the netmask are marked in a different color.

The wildcard is the inverse netmask as used for access control lists
in Cisco routers. You can also enter netmasks in wildcard notation.

Do you want to split your network into subnets? Enter the address and
netmask of your original network and play with the second netmask
until the result matches your needs.

Questions? Comments? Drop me a mail: krischan at jodies.de
http://jodies.de/ipcalc

Thanks for your nice ideas and help to make this tool more useful:

Bartosz Fenski
Denis A. Hainsworth
Foxfair Hu
Frank Quotschalla
Hermann J. Beckers
Igor Zozulya
Kevin Ivory
Lars Mueller
Lutz Pressler
Oliver Seufer
Scott Davis
Steve Kent
Sven Anderson
Torgen Foertsch

Usage: ipcalc [options] <ADDRESS>[[/]<NETMASK>] [NETMASK]

ipcalc takes an IP address and netmask and calculates the resulting
broadcast, network, Cisco wildcard mask, and host range. By giving a
second netmask, you can design sub- and supernetworks. It is also
intended to be a teaching tool and presents the results as
easy-to-understand binary values.

 -n --nocolor  Don't display ANSI color codes.
 -c --color    Display ANSI color codes (default).
 -b --nobinary Suppress the bitwise output.
 -c --class    Just print bit-count-mask of given address.
 -h --html     Display results as HTML (not finished in this version).
 -v --version  Print Version.
 -s --split n1 n2 n3
               Split into networks of size n1, n2, n3.
 -r --range    Deaggregate address range.
    --help     Longer help text.

Examples:

ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255


ipcalc <ADDRESS1> - <ADDRESS2>  deaggregate address range

ipcalc <ADDRESS>/<NETMASK> --s a b c
                                split network to subnets
				where a b c fits in.

! New HTML support not yet finished.

ipcalc 0.41
anonymous
()
xms@XMs-develop ~ $ eix ipcalc
* dev-python/ipcalc
     Доступные версии:      ~1.0.0 ~1.1.1 ~1.1.2 1.1.3 {PYTHON_TARGETS="pypy python2_7"}
     Домашняя страница:     https://pypi.python.org/pypi/ipcalc/
     Описание:              IP subnet calculator

* net-misc/ipcalc
     Доступные версии:      0.41
     Домашняя страница:     http://jodies.de/ipcalc
     Описание:              IP Calculator prints broadcast/network/etc for an IP address and netmask

* net-misc/sipcalc
     Доступные версии:      1.1.6
     Домашняя страница:     http://www.routemeister.net/projects/sipcalc/
     Описание:              Sipcalc is an advanced console-based IP subnet calculator

Найдено 3 совпадение.
xms@XMs-develop ~ $

Нет бы написать что-то действительно нужное и уникальное, или (ещё лучше) помочь другим проектам…

XMs ★★★★★
()
Ответ на: комментарий от XMs

Ну это на python'е. А мне теперь если нужна ipcalc, то я загружу свою программу, просто выполнив

git clone https://github.com/xverizex/ipcalc

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Разумеется, эту кашу вообще нет никакого желания читать.

Deleted
()
Ответ на: комментарий от u0atgKIRznY5

Нет. После этого тебе её ещё нужно скомпилить. А если ты в ней ещё и поправишь что-то — угадай, что? Снова скомпилить. Но и это

Ну это на python'е

неправда.

$ file /usr/bin/ipcalc 
/usr/bin/ipcalc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b1694833a36a249f118f54ddbadc582b41286dab, stripped

Deleted
()
Ответ на: комментарий от u0atgKIRznY5

Ну это на python'е

Только первая. Вторая на перле, третья на сишке. Но какое это имеет значение?


то я загружу свою программу, просто выполнив

А потом сконфигурировав и скомпилив (а по-хорошему ещё и установив). В то время как мне достаточно сделать emerge -av net-misc/ipcalc либо emerge -av sipcalc и сразу получить готовый к использованию инструмент

XMs ★★★★★
()
Ответ на: комментарий от Deleted

Да, меня это тоже коробит. Надо будет как-нибудь патч разрабам отослать

XMs ★★★★★
()

код говно

Пожалуйста никогда ничего больше не пиши. Код отвратительный до безумия во всех четырех проектах.

cf->index = calloc(strlen(cf->datadir) + strlen("/rfc-index.txt")  ,sizeof(char));
sprintf(cf->index,"%s/%s",cf->datadir,"rfc-index.txt");

mix_mix ★★★★★
()
Ответ на: комментарий от Psych218

особенно к модератором

Ты еще правила регистрации вспомнил бы, ага.

Перемещено Falcon-peregrinus из opensource
Перемещено Falcon-peregrinus из talks

Труд, сравнимый с написанием сабжевого говна.

thesis ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5

У слаквари есть пакетный менеджер и репозиторий, поэтому ставить софт будут оттуда. Ну а LFS-ники первым делом подключают убунтовские/дебиановские репы, после чего теряют интерес и выключают виртуалку с LFS. Большинству пользователей при выборе софта важно, чтобы софт был эффективным (сравни свой ipcalc с перловым — последний куда более фичаст и удобен в использовании, при том что тоже обеспечивает цветной вывод) и имел большую пользовательскую базу (user experience позволяет оценить пригодность инструмента под нужны конкретного пользователя, плюс типовые вопросы/проблемы и поддержка — если пользоваться инструментом планируется не три раза в жизни и инструмент перед использованием не требует прочтения мануала объёмом с четырёхтомник Кнута). Прочие параметры (стоимость, требования, etc) не рассматриваю

XMs ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5

strlen(cf->datadir) + strlen(«/rfc-index.txt») - очевидно данного буфера не хватит под результат, т.к. там у тебя еще / и \0

strlen(cf->datadir) - strlen в С для хранимых данных это зло, это как взять болид F1 и толкать его руками к финишу

sizeof(char) - всегда 1

calloc - тут не нужен

sprintf - см. strlen, плюс он не проверяет длину

anonymous
()
Ответ на: комментарий от XMs
ipcalc 192.168.1.111 255.255.255.248  0,01s user 0,00s system 97% cpu 0,014 total
ipcalc 192.168.1.111 255.255.255.248  0,00s user 0,00s system 58% cpu 0,002 total

Сможешь определить, какая из этих двух написана мной?

Чем perl'овский эффективней? Нагрузкой на cpu? Тебе когда нужно узнать количество хостов доступных в подсети, нужная информация

  • начальный адрес сети
  • маска
  • конечный адрес сети
  • количество хостов
u0atgKIRznY5
() автор топика
Ответ на: комментарий от anonymous

У тебя что были неисправности? Между выделенными массивами не обязательно ставить \0, так как следующая выделеная память никак не может быть следующим байтом после уже выделенной. Между выделенными участками должно быть в несколько байтов расстояние по моему. Ты даже можешь взглянуть с помощью gdb, и удостовериться что там нули стоят. Ноль можно применять например чтобы ограничить вывод и не более. Если ты насчёт нулей завёл разговор, приведи пример, где выделенная память без нуля принесла плохие результаты?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

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

Это просто эпично. Такого я еще не видел.

anonymous
()
Ответ на: комментарий от u0atgKIRznY5

Сможешь определить, какая из этих двух написана мной?

Любая. Может, там обе твои, а может, твоей и нет. Во-первых, чтобы можно было рассуждать о скорости и потребляемых ресурсах, нужно использовать методы мат. статистики. Если ОЧЕНЬ упростить — запусков должно быть много (нет, не пять-десять), чтобы исключить влияние кешей, случайных процессов и много чего ещё. Также надо запускать в системе, где больше ничего не крутится, чтобы ядро не отвлекалось на посторонние процессы. Ну и ещё по мелочи. Во-вторых, даже если провести замеры нормально и результат не изменится — мне абсолютно без разницы, будет процесс работать 14 тысячных секунды или всего 2 — это в любом случае заведомо быстрее, чем я смогу/захочу заметить на глаз. Я с результатом выполнения буду много дольше ознакомляться, так какая разница?


Чем perl'овский эффективней?

Тем, что я могу задать адрес и маску в CIDR-нотации, а могу и отдельно — удобство. Тем, что позволяет считать подсети — функциональность. Тем, что можно подавлять вывод отдельных блоков информации или отключить цвета — удобство как пользователя, который хочет получить лишь ту информацию, которая его интересует, так и разработчика, которому не нужно будет отфильтровывать управляющие символы при чтении вывода

XMs ★★★★★
()
Последнее исправление: XMs (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.