Скрипты curl-запросов в bash

Служба mysqlxна порту 33060 — это служба MySQL X DevAPI .

nmapне использует /etc/services, он использует собственную базу данных сервисов .

Обратите внимание, что все, что прослушивает порт 33060, будет сообщено как служба mysqlx, и что имя службы не обязательно должно быть частью имени команды, предоставляющей службу (и exim, и postfixмогут предоставлять услугу smtp, например ).

Чтобы увидеть, что прослушивает порт 33060 на локальном компьютере, вы можете использовать в системе Linux

sudo lsof -i :33060

или

sudo fuser -v 33060/tcp

-1
17.01.2020, 15:33
1 ответ

Может быть, что-то в этом роде?

#!/bin/bash
MY_INPUT=${@:-$(</dev/stdin)}
printf '%s\n' $MY_INPUT \
  | xargs -n2 \
  | while read LOWER UPPER; do
    printf '%s %s %s\n' \
      "$LOWER" "$UPPER" "$(curl http://server/p?q=(rule)+range%3A[$LOWER to $UPPER])" 
    done \
    | awk '{SUM+=$3; print $0} END {print "Total : " SUM}' \
    | column -t

просто добавьте туда свои диапазоны.

Если у вас есть файл, в котором есть ваши диапазоны с нижней и верхней границей в каждой строке...

1.1.1.1 1.2.3.4
4.5.6.7 8.9.10.11

...можноscript.sh < file_with_ranges.txt

или можноscript.sh 1.0.0.0 1.10.200.255 1.10.200.255 1.50.230.255

MY_INPUT=${@:-$(</dev/stdin)}— это немного волшебства, позволяющее сценарию принимать либо значения :из стандартного ввода, либо позиционные аргументы.
xargsразбивает аргументы на пары по два.
Цикл whileсчитывает значения, печатает их и вызывает ваш сервер, который отвечает номером.
awkсуммирует числа, возвращенные вашим сервером, и выводит итог после обработки всех строк.
column -tдля создания таблицы.

Итак, если у вас есть файл test, подобный этому...

1.0.0.0         1.10.200.255
1.10.200.255    1.50.230.255
1.200.255.255   1.255.255.255

и запустите script.sh < test, вы получите такой вывод:

1.0.0.0        1.10.200.255   967
1.10.200.255   1.50.230.255   935
1.200.255.255  1.255.255.255  951
Total          :              2853
0
28.01.2020, 05:11

Теги

Похожие вопросы