2015-02-26 3 views
-1

Я просто натыкаюсь на этот скрипт http://paste.ubuntu.com/10416480/, который принимает один iprange в формате cidr и ищет открытые dns.Thats cool. Интересно, как это можно изменить, чтобы принять ipranges в текстовый файл.Таким образом, когда это делается с одним iprange, он быстро переходит к следующему, точно так же, как программа кормит один iprange за один раз, спасибоКак объединить диапазон ip в формате cidr в текстовом файле

+0

Укажите, пожалуйста, часть кода, в которой вы нуждаетесь, и объясните, что он делает, что вы изменили и как это не удается для вас. – tripleee

+0

весь код здесь http://paste.ubuntu.com/10416480/. я хотел бы, чтобы код принимал диапазоны из текстового файла. в настоящее время код принимает один диапазон за раз, и его нужно вводить вручную. это очень много времени – user2689877

+0

Я не думаю, что ваш вопрос неясен, но вы должны просмотреть раздел [help] (http://stackoverflow.com/help), в частности http://stackoverflow.com/help/how-to -ask – tripleee

ответ

0

Если я правильно понимаю, ваша цель - запустить скрипт для большого количества диапазонов IP. Исходя из этого предположения, есть два способа решить проблему: либо вы можете изменить сценарий, либо написать обертку поверх нее, чтобы делать то, что вы хотите. Я предлагаю писать скрипт, который оборачивает поверх существующего Perl кода:

#!/bin/bash 

# the filename is passed as the first argument. It has one IP range per line 
infile=$1 

while read iprange 
do 
    # dostuff.pl should be replaced by the perl script 
    dostuff.pl "$iprange" 
done < "$infile" 

Вы можете сохранить вышеуказанный текст в файле, как dostuff.sh и использования, что вместо сценария Perl напрямую.

+0

спасибо за ответ.so на моем командном терминале я должен написать ./dostuff.sh textwithipranges.txt. когда я делаю это, я получаю ошибку ) не похож на допустимый диапазон IP – user2689877

+0

Чтобы отладить это, попробуйте запустить 'bash -x dostuff.sh textwithipranges.txt'. Он покажет вам, что делает bash на каждом шаге, поэтому вы можете проверить, прошел ли скрипт Perl неправильный диапазон IP. – srvsh

+0

в порядке. я думаю, что это была моя ошибка. Текстовый файл теперь имеет правильные формы ip-диапазонов, и он работает хорошо. спасибо за помощь – user2689877

Смежные вопросы