Как сделать Cronjob для автономного сценарияLinux

Ответить
Anonymous
 Как сделать Cronjob для автономного сценария

Сообщение Anonymous »

#!/bin/bash

# ------------------------------
# MikroTik Auto-Block Script
# ------------------------------

ROUTER_IP="192.168.88.1"
ROUTER_USER="admin"
ROUTER_PASSWORD="Tr!ckyP@ssword." # use sshpass Alt use keys(had trouble trying to use a key)
WHITELIST="whitelist.txt"
LOG_FILE="blocked_devices.log"
INTERVAL=60 # check every 60 seconds

# List connected clients
CMD="/interface wireless registration-table print terse"

while true; do
echo "==== Checking connected clients ===="

# Fetch connected clients
clients=$(sshpass -p "$ROUTER_PASSWORD" ssh -o StrictHostKeyChecking=no $ROUTER_USER@$ROUTER_IP "$CMD" 2>/dev/null)

# Extract MAC addresses of connected devices
connected_macs=$(echo "$clients" | grep -ioP 'mac-?address=\K[0-9A-F:]{17}')

# Fetch current access-list MACs
blocked_macs=$(sshpass -p "$ROUTER_PASSWORD" ssh -o StrictHostKeyChecking=no $ROUTER_USER@$ROUTER_IP "/interface wireless access-list print terse" 2>/dev/null | grep -ioP 'mac-?address=\K[0-9A-F:]{17}')

# Block any connected MAC not in whitelist
for mac in $connected_macs; do
if ! grep -iq "$mac" "$WHITELIST"; then
if ! echo "$blocked_macs" | grep -iq "$mac"; then
sshpass -p "$ROUTER_PASSWORD" ssh -o StrictHostKeyChecking=no $ROUTER_USER@$ROUTER_IP "/interface wireless access-list add mac-address=$mac comment='Blocked unknown device' disabled=no"
echo "$(date '+%Y-%m-%d %H:%M:%S') - BLOCKED $mac" | tee -a "$LOG_FILE"
fi
fi
done

# Remove any blocked MAC that is not in whitelist
for mac in $blocked_macs; do
if ! grep -iq "$mac" "$WHITELIST"; then
# Remove MAC from access list
sshpass -p "$ROUTER_PASSWORD" ssh -o StrictHostKeyChecking=no $ROUTER_USER@$ROUTER_IP "/interface wireless access-list remove [find mac-address=$mac]"
echo "$(date '+%Y-%m-%d %H:%M:%S') - REMOVED $mac (illegal)" | tee -a "$LOG_FILE"
fi
done

echo "==== Sleeping for $INTERVAL seconds ===="
sleep $INTERVAL
done

< /code>
#curourly я запускаю сценарий из ящика, подключенного к одной и той же сети, но я буду знать, смогу ли я запустить сценарий из другой сети и сказать через VPS #в том, что я знаю, что его запуск, даже если машина выключена (настройка Cronjob для #Script), я не хочу, чтобы я использовал # # # # # # # # Ключ ранее
#i Перфорированные атаки Deauthentication сначала (несанкционированные MAC -адреса просто #Reconnect) также теперь пытается сделать его немного более "белым воротником"

Подробнее здесь: https://stackoverflow.com/questions/797 ... ine-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»