Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   netbios , ping,cmd (http://forum.oszone.net/showthread.php?t=330516)

amagrupp 15-10-2017 09:21 2770679

netbios , ping,cmd
 
Подскажите.
есть список ip диопазонов вида
(пример)
2.60.0.0/14
2.92.0.0/14
5.1.48.0/21
5.2.32.0/19
5.3.0.0/16
5.8.0.0/18
5.8.64.0/19
список большой. в файле.

мне нужен скрипт который бы пинговал все диопазоны из файла, определял netbios(именно на Windows) и записывал ОНЛАЙН(хосты в сети) ip в файл с указанием netbios.

amagrupp 15-10-2017 23:18 2770852

и?)))

amagrupp 16-10-2017 20:26 2771019

не ужели не кто не знает?

amagrupp 17-10-2017 14:52 2771290

не пойму, форум мёртвый что ли?

Iska 17-10-2017 15:44 2771305

Цитата:

Цитата amagrupp
не пойму, форум мёртвый что ли? »

Нет, не мёртвый. Ознакомьтесь, пожалуйста, с Общие правила конференции OSZone.net, п.3.14. Если найдутся знающие и желающие ответить — ответят. Нет — нет.

Elven 18-10-2017 13:58 2771549

На PoSh получилось как-то так. Диапазоны цепляются из файла IP.txt, как сдернуть нужную информацию и запихнуть в файл оставляю в качестве домашнего задания (вставить в кусок с echo $IP_O1"."$i"."$j"."$k).

Код:

Get-Content -Path '.\IP.txt' | Foreach {
$IP_mask=$_.split("/")
$IP=$IP_mask.Get(0)
$mask=$IP_mask.Get(1)
$IP_O=$IP.split(".")
$IP_O1=$IP_O.Get(0)
$IP_O2=$IP_O.Get(1)
$IP_O3=$IP_O.Get(2)
$IP_O4=$IP_O.Get(3)
$M_O2=0
$M_O3=0
$M_O4=0

IF ($mask -lt 24) {
    IF ($mask -lt 16) {
        IF ($mask -lt 8) {
            echo "ты сдвинулся, что ли, такие диапазоны пинговать?"
        } ELSE {
            $M_LO=16-$mask
            $M_O2=[math]::pow(2,$M_LO) - 1
            $M_O3=255
            $M_O4=255}
        } ELSE {
            $M_LO=24-$mask
            $M_O3=[math]::pow(2,$M_LO) - 1
            $M_O4=255
        }
        } ELSE {
            $M_LO=32-$mask
            $M_O4=[math]::pow(2,$M_LO) - 1
            }

[int]$O2=$M_O2 + $IP_O2
[int]$O3=$M_O3 + $IP_O3
[int]$O4=$M_O4 + $IP_O4

For ([int]$i=$IP_O2; $i -le $O2; $i++) {
    For ([int]$j=$IP_O3; $j -le $O3; $j++) {
        For ([int]$k=$IP_O4; $k -le $O4; $k++) {

            echo $IP_O1"."$i"."$j"."$k

        }
    }
}
}


Iska 18-10-2017 14:46 2771562

Цитата:

Цитата Elven
Код:

IF ($mask -lt 24) {
    IF ($mask -lt 16) {
        IF ($mask -lt 8) {
                echo "ты сдвинулся, что ли, такие диапазоны пинговать?"

»

:lol::lol::lol:.

amagrupp 19-10-2017 08:29 2771727

Тут самое главное это информация и запись в файл. У кого какие мысли?

Elven 19-10-2017 12:59 2771779

мысль одна: обленился народ. мало того что приготовили, нужно еще чтобы разжевали и в глотку протолкнули.
Как определить NetBIOS имя компьютера по IP адресу?
Пинг оборудования по списку
Учитывая то, что формат вывода данных не указывался, можно было бы вовсе обойтись чем-то вроде
Код:

ping -a $IP_O1"."$i"."$j"."$k >>result.log
Дальнейшее является косметикой, а потому прочие изменения и дополнения - на усмотрение автора топика. И лучше если им самим.
dixi

amagrupp 19-10-2017 18:09 2771839

я создал тему что бы помогли с готовым решением. Желательно сразу Бат файл.
Спасибо за понимание.

Iska 19-10-2017 18:21 2771842

amagrupp, простите, что вмешиваюсь, но «готовым решением» — это не «помогли», а «сделали за меня». Опять же: хоть здесь и не сайт фрилансеров, но ежели кто восхочет сделать за Вас — сделают, выложат.

amagrupp 20-10-2017 17:58 2772042

Хорошо. Надеюсь на понимание и помощь

amagrupp 27-10-2017 10:00 2773646

Еще раз.
Я готов заплатить за готовое решение.
Тз.
1.Пинговать ip по заданому диопазону (ip брать из файла)
- Читать по ip информацию NetBios,workgroup и имя хоста.
2. Результат записывать в файл в читабельном виде
3.сделать поиск по результатам, например поиск по ключевому слову в netbios или workgroup или по имени Хоста.
Можно сделать с графическим интересно.
Не создают новую тему, по этому пишу тут.


Время: 07:49.

Время: 07:49.
© OSzone.net 2001-