Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Напишите мне скрипт за деньги  (Прочитано 2022 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6739
  • 20% Cooler
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #15 : 01 Февраля 2018, 18:00:24 »
Код: (bash) [Выделить]
#!/bin/bash
 
YIP='167.9.106.116'    #свой айпишник
PTS='8000'             #начало диапазона портов
PTE='8020'             #конец диапазона портов
                       #сильно большой диапазон не ставьте - долго выполняться будет
TRY='3'                #на сколько портов должет постучаться бот
 
TMP=$(mktemp)
 
soun() {
sort $1 | uniq 
}
 
for i in $(seq $PTS $PTE); do
grep -Eo "$YIP:$i ([0-9]{1,3}\.){3}[0-9]{1,3}" \
"$1" | sed "s/$YIP://">> $TMP
done
 
soun $TMP > ${TMP}_sus
 
while read j ; do
CN=$(grep -c $j ${TMP}_sus)
if ((  CN >= TRY )); then
echo $j >> ${TMP}_ban
fi
done <<< $(cat ${TMP}_sus | cut -d\  -f2)
[ ! -e ${TMP}_ban ] && echo 'Всё в порядке' && exit 0
soun ${TMP}_ban > "${1}_banned"
echo "Плохие IP:"
cat  "${1}_banned"
echo "Записано в ${1}_banned"
rm $TMP ${TMP}_sus ${TMP}_ban &> /dev/null

Пробуйте

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #16 : 01 Февраля 2018, 18:04:47 »
Все равно спотыкается.

./ban.txt est.txt
grep: 90.35.238.197: No such file or directory
grep: 90.35.238.197: No such file or directory
grep: 90.35.238.197: No such file or directory
grep: 90.35.238.197: No such file or directory
grep: 90.35.238.197: No such file or directory
./ban.txt: line 24: ((: /tmp/tmp.sSL9czrpyI_sus:6: syntax error: operand expected (error token is "/tmp/tmp.sSL9czrpyI_sus:6")
Всё в порядке

файл

cat est.txt
167.9.106.116:8010 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8000 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8001 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8012 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8013 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8005 90.35.238.197:53378 ESTABLISHED
167.9.106.116:8070 90.35.238.197:53378 ESTABLISHED
167.9.106.116:7998 90.35.238.197:53378 ESTABLISHED

Не может влиять одинаковый порт на IP 90.35.238.197? У всех 53378

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6739
  • 20% Cooler
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #17 : 01 Февраля 2018, 18:10:57 »
а так? (просто в данный момент я на арче сижу, мож там заковыки какие)

Код: (bash) [Выделить]
#!/bin/bash
 
YIP='167.9.106.116'    #свой айпишник
PTS='8000'             #начало диапазона портов
PTE='8020'             #конец диапазона портов
                       #сильно большой диапазон не ставьте - долго выполняться будет
TRY='3'                #на сколько портов должет постучаться бот
 
TMP=$(mktemp)
 
soun() {
sort $1 | uniq 
}
 
for i in $(seq $PTS $PTE); do
grep -Eo "$YIP:$i ([0-9]{1,3}\.){3}[0-9]{1,3}" \
"$1" | sed "s/$YIP://">> $TMP
done
[ ! -e ${TMP} ] && echo 'Всё в порядке' && exit 0
soun $TMP > ${TMP}_sus
 
while read j ; do
CN=$(grep -c $j ${TMP}_sus)
if ((  CN >= TRY )); then
echo $j >> ${TMP}_ban
fi
done < <(cat ${TMP}_sus | cut -d\  -f2)
[ ! -e ${TMP}_ban ] && echo 'Всё в порядке' && exit 0
soun ${TMP}_ban > "${1}_banned"
echo "Плохие IP:"
cat  "${1}_banned"
echo "Записано в ${1}_banned"
rm $TMP ${TMP}_sus ${TMP}_ban &> /dev/null


Пользователь добавил сообщение 01 Февраля 2018, 18:13:12:
Не может влиять одинаковый порт
не, без разницы.
« Последнее редактирование: 01 Февраля 2018, 18:14:00 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #18 : 01 Февраля 2018, 18:13:16 »
./ban.txt est.txt
Плохие IP:
90.35.238.197
Записано в est.txt_banned

ура, товарищи)

получил что хотел, всем спасибо.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #19 : 01 Февраля 2018, 19:15:35 »
ALiEN175, я с своем варианте вносил правки и проверки))) А то реально ругалось))) В Ubuntu sh - симлинк на dash
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6739
  • 20% Cooler
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #20 : 01 Февраля 2018, 20:38:03 »
EvangelionDeath, да я уж понял, что баш разный бывает) Учту на будущее)

Пользователь добавил сообщение 01 Февраля 2018, 21:06:02:
Камрад Ввысь попросил еще белый список прикрутить. Выложу тоже, чтоб не потерялось, да и критика приветствуется.
Код: (bash) [Выделить]
#!/bin/bash
 
YIP='167.9.106.116'    #свой айпишник
PTS='7777'             #начало диапазона портов
PTE='8020'             #конец диапазона портов
                       #сильно большой диапазон не ставьте - долго выполняться будет
TRY='3'                #на сколько портов должет постучаться бот
VIP='файл_с_белыми_ip'
 
TMP=$(mktemp)
 
soun() {
sort $1 | uniq 
}
 
for i in $(seq $PTS $PTE); do
grep -Eo "$YIP:$i ([0-9]{1,3}\.){3}[0-9]{1,3}" \
"$1" | sed "s/$YIP://">> $TMP
done
 
[[ ! -e $TMP ]] && echo "Всё в порядке" && exit 0
 
if [[ -n "$VIP" ]] ; then
 
while read P; do
[[ -z $P ]] && continue
sed -i "/$P/d" $TMP
done < "$VIP"
 
fi
 
soun $TMP > ${TMP}_sus
 
while read j ; do
CN=$(grep -c $j ${TMP}_sus)
if ((  CN >= TRY )); then
echo $j >> ${TMP}_ban
fi
done < <(cat ${TMP}_sus | cut -d\  -f2)
[ ! -e ${TMP}_ban ] && echo 'Всё в порядке' && exit 0
soun ${TMP}_ban > "${1}_banned"
echo "Плохие IP:"
cat  "${1}_banned"
echo "Записано в ${1}_banned"
rm $TMP ${TMP}_sus ${TMP}_ban &> /dev/null
« Последнее редактирование: 01 Февраля 2018, 21:06:02 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #21 : 01 Февраля 2018, 21:53:04 »
Затестил с белым списком, работает).

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #22 : 01 Февраля 2018, 22:25:43 »
Ввысь, ну мы же прежде чем предоставлять что-то тестируем) Просто ALiEN175 тестировал на своей системы, а там версия bash отличается, а то и отличается симлинк у sh =)
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6739
  • 20% Cooler
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #23 : 01 Февраля 2018, 22:44:39 »
EvangelionDeath,
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Напишите мне скрипт за деньги
« Ответ #24 : 01 Февраля 2018, 22:59:40 »
ALiEN175,
(Нажмите, чтобы показать/скрыть)
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

 

Страница сгенерирована за 0.033 секунд. Запросов: 25.