Служба mysqlx
на порту 33060 — это служба MySQL X DevAPI .
nmap
не использует /etc/services
, он использует собственную базу данных сервисов .
Обратите внимание, что все, что прослушивает порт 33060, будет сообщено как служба mysqlx
, и что имя службы не обязательно должно быть частью имени команды, предоставляющей службу (и exim
, и postfix
могут предоставлять услугу smtp
, например ).
Чтобы увидеть, что прослушивает порт 33060 на локальном компьютере, вы можете использовать в системе Linux
sudo lsof -i :33060
или
sudo fuser -v 33060/tcp
Может быть, что-то в этом роде?
#!/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