Здравствуйте!
Как удобне всего получить список ip-адресов, видимых хостом?
Конкретно интересуют локальные. Напринер, "netstat -t -n",
но, м.б., можно как-то лучше?
Пётр.
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Администрирование и настройка сетей → IP addresses
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте!
Как удобне всего получить список ip-адресов, видимых хостом?
Конкретно интересуют локальные. Напринер, "netstat -t -n",
но, м.б., можно как-то лучше?
Пётр.
Что-то она вообще не вывела мне те адреса, которые вывела "netstat -t -n".
Пётр.
Как удобне всего получить список ip-адресов, видимых хостом?
что значит "видимых" ? Есть arp -a к примеру. Если вы про established соединения , тогда чем не устраивает netstat -an | grep EST ? Есть также iftop.
Что-то она вообще не вывела мне те адреса, которые вывела "netstat -t -n".
и что? netstat выводит 100500 закрытых соединений, зачем они вам?
"netstat -an|grep EST" и |netstat -t -n" выводят одно и то же, "lsof -i" выводит ту же информацию и ещё нечто,
вот "arp -a" вывела адрес шлюза - 192.168.0.1, это ближе всего к тому, что я хотел.
Вообще я имел в виду ситуацию, когда в Ethernet воткнуто устройство с неизвестным ip-адресом и его надо узнать.
Пётр.
Вы можете использовать nmap 10.10.0.0/24 к примеру. Ну или вы можете написать скрипт, который будет пинговать все адреса в сети с count 1
"netstat -an|grep EST" и |netstat -t -n" выводят одно и то же, "lsof -i" выводит ту же информацию и ещё нечто,
по вашему, если сервер слушает все IP на 80ом порту, то он их "не видит"?
Вообще я имел в виду ситуацию, когда в Ethernet воткнуто устройство с неизвестным ip-адресом и его надо узнать.
а так не бывает. Есть только 3 варианта:
1. устройство является DHCP сервером. В этом случае мы просим у него дать нам какой-нить IP. Просим мы по IP 255.255.255.255.
2. устройство является DHCP клиентом, тогда оно у нас просит IP.
3. устройство имеет статический IP, тогда мы его прописываем ручками и там и там.
ip addr
это наши IP.
Ну или вы можете написать скрипт, который будет пинговать все адреса в сети с count 1
классная идея! Статистическое время ожидания 136 лет.
вот "arp -a" вывела адрес шлюза - 192.168.0.1, это ближе всего к тому, что я хотел.
ну попробуйте конечно этот свой arp, может что и получится http://www.opennet.ru/man.shtml?topic=a … ;russian=0
Статистическое время ожидания 136 лет.
нет. ping -w 1 -c 1, на каждый адрес 1 секунда. сеть 254 машины.
Сеть класса "C" -- 254 машины, класса "B" -- 65534, класса "A" -- 16777214.
если я правильно понял ТС , ему нужно выловить ip роутера или подобного. Обычно адрес находится в сети класса С. 192.168.0.0
Благодарю за ответы и советы.
На домашнем компьютере "arp -a" тоже возвращает адрес рутера,
"ip addr" показало адрес компьютера, полученный от рутера.
nmap, наверное, и есть то, что надо. Я знал, что есть какая-то мощная команда,
раз или два я сам запускал nmap по примеру из какой-то статьи, но с тех пор успел
забыть это название и знакомый системный администратор тоже не вспомнил.
А ситуация такая: к сетевой карте подключается некое устройство с ip-адресом,
в моём случае это был 10.10.1.69, при этом по инструкции требовалось и компьютеру
присвоить адрес вида 10.10.1.xx. Однако адрес устройства мог оказаться и другим,
т.е. его младший байт и я хотел узнать, можно ли получить этот адрес, не перебирая
вручную.
Пётр.
нет. ping -w 1 -c 1, на каждый адрес 1 секунда. сеть 254 машины.
ну если вам известна сеть/24, то конечно это не займёт много времени.
Обычно адрес находится в сети класса С. 192.168.0.0
вовсе нет. Кстати более правильно тогда уж использовать подсеть 192.168.1/24
но с тех пор успел
забыть это название и знакомый системный администратор тоже не вспомнил.
facepalm.jpg
какой-же это "администратор"????
Кстати, рекомендую воспользоваться одним из гуев к этой утилите, первое время очень удобно. Их Over9000, и потом они зависят от DE. Т.ч. берите в репозитории.
А ситуация такая: к сетевой карте подключается некое устройство с ip-адресом,
в моём случае это был 10.10.1.69, при этом по инструкции требовалось и компьютеру
присвоить адрес вида 10.10.1.xx. Однако адрес устройства мог оказаться и другим,
т.е. его младший байт и я хотел узнать, можно ли получить этот адрес, не перебирая
вручную.
а зачем сразу не написали, а угадайку устроили? ну попросите у меня в след раз ссылку, я тоже одну буковку "забуду"
И да, поинтересуйтесь - на устройстве есть DHCP клиент? На многих есть. Он как раз что-бы не перебирать.
Сеть класса "C" -- 254 машины, класса "B" -- 65534, класса "A" -- 16777214.
поправочка.
10.0.0.0/8 Private-Use Networks [RFC1918] A 16777216 адресов
172.16.0.0/12 Private-Use Networks [RFC1918] B 1048576 адресов
192.168.0.0/16 Private-Use Networks [RFC1918] C 65536 адресов
пруф http://tools.ietf.org/html/rfc3330
вовсе нет. Кстати более правильно тогда уж использовать подсеть 192.168.1/24
у 90 % обычных сетевых железяк сеть 192.168.0.0/24, где вы видели единицу не знаю. А вообще в инструкции или на коробке находиться адрес.
Peter пишет:но с тех пор успел
забыть это название и знакомый системный администратор тоже не вспомнил.facepalm.jpg
какой-же это "администратор"????
Кстати, рекомендую воспользоваться одним из гуев к этой утилите, первое время очень удобно. Их Over9000, и потом они зависят от DE. Т.ч. берите в репозитории.Peter пишет:А ситуация такая: к сетевой карте подключается некое устройство с ip-адресом,
в моём случае это был 10.10.1.69, при этом по инструкции требовалось и компьютеру
присвоить адрес вида 10.10.1.xx. Однако адрес устройства мог оказаться и другим,
т.е. его младший байт и я хотел узнать, можно ли получить этот адрес, не перебирая
вручную.а зачем сразу не написали, а угадайку устроили? ну попросите у меня в след раз ссылку, я тоже одну буковку "забуду"
![]()
И да, поинтересуйтесь - на устройстве есть DHCP клиент? На многих есть. Он как раз что-бы не перебирать.
По-видимому, я неточно выразился в 1-й раз: всех видимых, а конкретно локальных,
я имел в виду буквально это - находящихся в локальной сети.
DHCP там нет, это какой-то специализированный модем с фиксированным адресом.
Пётр.
у 90 % обычных сетевых железяк сеть 192.168.0.0/24, где вы видели единицу не знаю.
просто 0 это вообще говоря адрес самой сети. Это НЕ стандарт, просто договорённость. Любая железка может иметь адрес заканчивающийся на ноль IRL, но это не является "правильным". Производители действительно часто забивают болт на это правило (железячники, что с них взять-то smile )
А вообще в инструкции или на коробке находиться адрес.
ТС как я понял хотел автоматом. Я ему и разъяснял, что такой автомат уже есть, и называется DHCP, из-за него кстати нельзя использовать адрес 255, ибо это широковещательный запрос (для всех).
у 90 % обычных сетевых железяк сеть 192.168.0.0/24
кстати, эти ваши слова являются истинной на все 100%
Что касается последнего нуля, то с учётом /24 (работают 24 первых бита) там можно писать вообще что угодно, но принято писать 0.
Что касается предпоследнего нуля - всё тоже правильно - это адрес сети. Потому и 0.
Но вот только сама железяка должна по уму иметь адрес 1, потому как ноль формально уже занят. Это касается и последнего числа.
По-видимому, я неточно выразился в 1-й раз: всех видимых, а конкретно локальных,
я имел в виду буквально это - находящихся в локальной сети.
угу. Причём не только "конкретно локальных", а 10.10.1.0/24 (так правильно записывается данный диапазон сети класса А)
DHCP там нет
ну это как раз плохо, ибо если-бы был, то постоянно слал-бы вам на 255.255.255.255 тот IP, под которым он желает работать (или просто "дайте хоть что-нить!"). Ну а так - только сканирование или вручную.
drBatty, естественно я имел ввиду адрес сети
и маску же дописал..
Что касается последнего нуля, то с учётом /24 (работают 24 первых бита) там можно писать вообще что угодно, но принято писать 0.
если я допишу что угодно, то это будет адрес машины, а не сети.
естественно я имел ввиду адрес сети smile и маску же дописал..
угу. уверен, многие не поймут.
если я допишу что угодно, то это будет адрес машины, а не сети.
нет. там можно писать всё что угодно, или вообще не писать ничего 192.168.1/24
можно и так 192.168.1.123/24 это тоже самое.
Но таки правильнее ничего не писать, или писать ноль.
можно и так 192.168.1.123/24 это тоже самое.
это адрес машины
192.168.1/24
а это не правильная запись, т.к. тоже указана маска..
можно и так 192.168.1.123/24 это тоже самое.
это адрес машины
192.168.1/24
а это не правильная запись, т.к. тоже указана маска..
обе записи рабочие. Можно проверить. Что до стандарта - лень копаться. IRL применяют обе формы, и не комплексуют.
Мне просто показалось, что вы хотите сказать, что 192.168.1.123/24 это адрес сети. На счет192.168.1/24 записи спорить не буду, т.к. не применяю.
Мне просто показалось, что вы хотите сказать, что 192.168.1.123/24 это адрес сети.
это адрес сети и есть.
Он покрывает 2^(32-24) == 2^8 == 256 адресов. причём сразу.
На счет192.168.1/24 записи спорить не буду, т.к. не применяю.
очень удобно, например 10/8 это локальная сеть класса А.
ЗЫЖ да, для любителей венды: в первом случае маска 255.255.255.0, а во втором 255.0.0.0. ну так она пишет почему-то.
Он покрывает 2^(32-24) == 2^8 == 256 адресов. причём сразу.
да, маска 24 покрывает 256 адресов, соглашусь. Но 123 в конце - это адрес машины. Поэтому при записи 192.168.1.123/24 имеется ввиду адрес машины, а при записи 192.168.1.0/24 - адрес сети.
bormant пишет:Сеть класса "C" -- 254 машины, класса "B" -- 65534, класса "A" -- 16777214.
поправочка.
10.0.0.0/8 Private-Use Networks [RFC1918] A 16777216 адресов
172.16.0.0/12 Private-Use Networks [RFC1918] B 1048576 адресов
192.168.0.0/16 Private-Use Networks [RFC1918] C 65536 адресов
пруф http://tools.ietf.org/html/rfc3330
В огороде бузина, а в Киеве дядька. В исходном сообщении речь о классах сетей, а в поправочке о приватных диапазонах.
RFC3330 Special-Use IPv4 Addresses описывает диапазоны адресов IPv4 специального назначения (неожиданно wink ).
http://tools.ietf.org/html/rfc1918 говорит прямо, что под приватные адреса выделена 1 сеть класса "A", 16 последовательных сетей класса B и 256 последовательных сетей класса "C".
3. Private Address Space
The Internet Assigned Numbers Authority (IANA) has reserved the
following three blocks of the IP address space for private internets:10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)We will refer to the first block as "24-bit block", the second as
"20-bit block", and to the third as "16-bit" block. Note that (in
pre-CIDR notation) the first block is nothing but a single class A
network number, while the second block is a set of 16 contiguous
class B network numbers, and third block is a set of 256 contiguous
class C network numbers.
Сеть класса "A" -- это /8, "B" -- /16, "C" -- /24. Без вариантов. RFC870.
Далее, поскольку 0-й и последний адрес использовать для хоста нельзя (один из них адрес сети, другой широковещательный), получим указанные в исходном сообщении цифры.
при записи 192.168.1.123/24 имеется ввиду адрес машины, а при записи 192.168.1.0/24 - адрес сети.
Кем имеется? На каком основании?
map 192.168.1.123/24 будет сканировать только 1 хост?
Адрес хоста -- это всегда /32 (255.255.255.255).
ps. Просто примените маску и вопросов не останется.
x.x.x.Y & 255.255.255.0 == x.x.x.0
хорошо, nmap действительно просканирует всю сеть, здесь я согласен с вами.
Address: 192.168.1.123 11000000.10101000.00000001. 01111011
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000
Address: 192.168.1.123
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Администрирование и настройка сетей → IP addresses
Форум работает на PunBB, при поддержке Informer Technologies, Inc