@python_beginnersЭта группа больше не существует

Страница 649 из 1885
Alex
30.10.2016
13:46:44
ну ок, proxychains python script.py, так понятней?

заместо proxychains много чего ещё может быть, как имя в скрипте получить?

Alex
30.10.2016
13:55:14
вариант

Google
Zart
30.10.2016
14:01:57
лоло

proxychains насколько я помню это простой шеллскрипт, который делает export LD_PRELOAD=libproxychains.so, после чего exec $@

поэтому никакого родителя там нет

Alex
30.10.2016
14:08:30
угу, в cmdline не светится, в процессах тоже

Igor
30.10.2016
14:09:53
если цель - детектнуть проксичейнс и там все, как говорит зарт, то проще будет env variables смотреть, если родительского процесса нету

sys.argv такое тоже не покажет, полагаю

Zart
30.10.2016
14:10:25
он покажет то, что в exec

Igor
30.10.2016
14:10:35
ну да

но в exec-то proxychains не будет

Zart
30.10.2016
14:10:46
а ехеку можно сказать внести туда что угодно аще

Igor
30.10.2016
14:11:34
ну, унифицированно ты это видимо не сделаешь

Zart
30.10.2016
14:11:35
учи юниксы тогда

Google
Igor
30.10.2016
14:11:54
можно забирать PID текущего процесса и смотреть родительский, как предложил Павел выше

Zart
30.10.2016
14:11:56
как вариант можно попытаться взять имя процесса из os.getppid

но это не кроссплатформенно особо

Igor
30.10.2016
14:12:11
о, даже getppid есть? GetParentPID типа?

Zart
30.10.2016
14:12:25
плюс если родительский сдох, процесс может быть отрепарентен к иниту вообще

Igor
30.10.2016
14:12:32


Zart
30.10.2016
14:12:48
какой интерес это узнать обычному приложению - ниибу

Alex
30.10.2016
14:14:12
ppid даёт bash

Igor
30.10.2016
14:14:29
знач надо брать еще выше

запуская "ps" и ища ppid там, например

http://stackoverflow.com/a/4229596/974317

import psutil, os pid = os.getpid() print 'pid:', pid ppid = os.getppid() print 'ppid:', ppid pppid = psutil.Process(ppid).parent().ppid() print 'pppid:', pppid ppppid = psutil.Process(pppid).parent().ppid() print 'ppppid:', ppppid

Zart
30.10.2016
14:19:40
и что вы ищете-то в итоге?

Alex
30.10.2016
14:20:37
proxychains не палится в cmdline процесса всё равно

даже grep /proc не находит )

Zart
30.10.2016
14:21:37
он что, прослушал мимо всё что писали выше?

Alex
30.10.2016
14:22:02
я Игорю пишу

а по пиду узнавать предлагает

Google
Zart
30.10.2016
14:22:21
он не будет палится в cmdline потому что exec его меняет (cmdline, т.е.)

Igor
30.10.2016
14:22:28
щито?
ну, если "proxychains python govno.py" (pid #3) запускает "bash -c python govno.py" (pid #21), а тот запускает python govno.py (pid #777), и getppid() возвращает 21, то надо смотреть пид родительского процесса bash'а, не?

Zart
30.10.2016
14:24:05
ты пишешь в баше "проксичейнс питон..." баш вызывает форк+ексес с этой строкой. она попадает в кмдлайн реально вызывается баш, который интерпретирует этот скрипт, заносит в енв вар значение, доходит до ексес и выполняет ексес без форка от чего в этом же pid меняется cmdline на новый (уже без проксичейнс), а баш замещается питоном по месту

я пропускаю еще тонну деталей, но суть примерно такая

Igor
30.10.2016
14:25:38
я Игорю пишу
я не понял, к чему ты это

понял; да, через parent pid'ы тоже не палится

ну, знач в данном случае env variables только смотреть

кстаааати

import os os.environ['_'] что тут у нас? %)

это, конечно, хуевый способ, лучше по 'DYLD_INSERT_LIBRARIES': '/usr/local/Cellar/proxychains-ng/4.11/lib/libproxychains4.dylib' смотреть

Alex
30.10.2016
14:33:15
import os os.environ['_'] что тут у нас? %)
там proxychains как раз, спасибо )

а я уже из истории выдерал, с помошью history )

Igor
30.10.2016
14:34:12
там proxychains как раз, спасибо )
не за что, случайно нашел, но это пиздец почему - потому что $ echo test test $ echo $_ test $ uname -a Darwin ... блаблабла $ echo $_ -a

ну ладно, это меньший пиздец, чем из history ))

Alex
30.10.2016
14:34:47
да, и быстро, os уже импортировам, тем более

Igor
30.10.2016
14:35:44
ну ты учти, что это может по пизде пойти в любой момент например, здесь: $ time python govno.py environ['_'] == '/usr/local/bin/python'

т.е. это лишь способ спалить именно proxychains с его методом запуска, не более

нифига не универсально, в общем

Alex
30.10.2016
14:39:49
угу, с tsocks уже не пашет

Google
Igor
30.10.2016
14:42:49
ага

Pavel
30.10.2016
14:58:43
интересно, а на кой знать приложению, что его запустили через proxychain?

.
30.10.2016
15:11:02
гайс вкатываюсь наверн с мегатупым вопросом, но чет туплю уже минут 25. Вообще сел я плиить имиджборду, осваивая верстку, просто копирую двач. Начал с создания бд, не совсем понимаю, как там все устроено. Нам нужна первая бд с простым перечислением всех досок(включая шорткаты и описание), далее нам нужна бд, которая описывает саму доску, а точнее две бд, первая бд задает треды, а вторая комментарии. Нужно наследование для бд тредов от самой первой бд, но какое отношеие должно быть(много к одному?), чтобы я однозначно понимал, к какой доске этот тред принадлежит. Потом мне нужно наследование от бд тредов для бд комментариев, здесь получается, я тоже беру какое-то отношение(много к одному). Или все это полный бред и там юзается какая-та другая схема? Например бд для каждой доски или еще что-нибудь

Denis
30.10.2016
15:13:01
Под бд ты понимаешь таблицу?

Aleshka
30.10.2016
15:13:50
Всем привет, нужна регулярка, которая находит строки типа <i> внутри угловых скобок может быть до 6 символов я такое придумал <(.|..|...|....|.....|......)> выглядит дерьмово, можно проще как-то?

хочу увидеть вариант знающих людей

Denis
30.10.2016
15:13:59
Есть таблица досок, есть таблица тредов, есть таблица комментариев

В доске много тредов, в треде много комментариев

Admin
ERROR: S client not available

Aleshka
30.10.2016
15:15:28
<.{,6}>
спасибо

.
30.10.2016
15:16:41
а таблица тредов?

Denis
30.10.2016
15:17:32
У треда есть board_id, у коммента есть thread_id

.
30.10.2016
15:19:05
т.е. мы можем создать одну таблицу и в зависимости от того тред это или коммент, вкладывать NULL в board_id или thread_id или все же 3 таблицы?

Denis
30.10.2016
15:20:18
Нет, таблицы две

Alex
30.10.2016
15:20:32
интересно, а на кой знать приложению, что его запустили через proxychain?
например, чтобы не использовать свою соксификацию, светить в тайтле, что трафик идёт через туннель и тд

Denis
30.10.2016
15:20:38
Для комментов и для тредов разные

.
30.10.2016
15:21:22
Для комментов и для тредов разные
+ еще таблица под доски

Темный
30.10.2016
15:23:34
посоны, есть один json - [ { "id": [ 213, 545, 654, ... ] "title": "Petrovich" }, { N } ] как лучше всего его разобрать, что бы работать с каждой цифрой из id относительно выбранного title?

Google
Pavel
30.10.2016
15:23:44
например, чтобы не использовать свою соксификацию, светить в тайтле, что трафик идёт через туннель и тд
выглядит бредово. Если приложение поддерживает тунелирование, то вынести это в настройки и поддерживать изнутри, а не надеятся на внешний тул.

Alex
30.10.2016
15:25:01
Aleshka
30.10.2016
15:51:09
Помогите пожалуйста, нужна регулярка, которая проверяет, состоит ли строка только из литералов, например "\n\r\n" или "\n\n\n\n\n\n\n\n" и всякие такие она должна находить а такие "привет \n\r\n лол" не должна не могу ничего придумать путного

Темный
30.10.2016
15:51:18
в смысле как разобрать
ну, т.е. обычного .load достаточно?

Aleshka
30.10.2016
15:53:32
If str.strip() = ""
бля, точно, ведь кто-то даже мне тут уже отвечал про этот стрип, может даже ты же и отвечал =D спасибо

b0g3r
30.10.2016
15:53:41
Я)

Igor
30.10.2016
15:57:53
выглядит бредово. Если приложение поддерживает тунелирование, то вынести это в настройки и поддерживать изнутри, а не надеятся на внешний тул.
++++++ поставить click, добавить аргумент --socks host:port, указали - коннектиться через него, не указали - пусть ебется как хочет

посоны, есть один json - [ { "id": [ 213, 545, 654, ... ] "title": "Petrovich" }, { N } ] как лучше всего его разобрать, что бы работать с каждой цифрой из id относительно выбранного title?
надо сначала найти нужный элемент по данному title (проще всего это сделать, проитерировавшись по всем элементам а-ля [obj for obj in my_json_data if obj['title'] == 'Petrovich'] а потом уже с найденным(-и) элементом(-ами) делать чо угодно - в т.ч. читать их id )

это если я правильно понял насчет "выбранного title" но если там все объекты {id: ..., title: ...} - нужные, тогда да, тогда можно не изъебываться с таким циклом/выражением

b0g3r
30.10.2016
17:25:24
а подскажите-ка мне

у меня в отдельном треде работает sched

который https://docs.python.org/3/library/sched.html

и он не убиётся по sigterm

то есть там в отдельном треде бесконечный луп, если абстрагироваться

как туда передать что мол, ай-ай-ай, надо перестать уже

Igor
30.10.2016
17:33:37
я не уверен, насколько это подойдет/правильно, но я б этому треду создал флажок типа should_stop (изначально равным False), который он будет периодически проверять (да хоть в while not should_stop), и если == True, то убиваться

b0g3r
30.10.2016
17:34:10
а как туды его передать

Страница 649 из 1885

Эта группа больше не существует Эта группа больше не существует