Имя пользователя:
Пароль:
 

Название темы: netbios , ping,cmd
Показать сообщение отдельно

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


На 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

        }
    }
}
}

Последний раз редактировалось Elven, 18-10-2017 в 15:17.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:58, 18-10-2017 | #6

Название темы: netbios , ping,cmd