Отвечая на это с точки зрения Уоникса 8. Ссылки указывают на исходный код Whonix 8.
Обычно брандмауэры Whonix - это брандмауэры с белым списком. Это означает, что они используют падение политики для всех цепочек (входной, прямой, выходной) и падение или отклонение правила как последнее правило. Весь трафик, не являющийся явным белым списком, будет брошен или отклонен (в зависимости от цепочки).
Брандмауэр Whonix-Workstation здесь не имеет никакого отношения. Это необязательный дополнительный брандмауэр, который отключен по умолчанию. Смотрите страницу man page для более подробного объяснения.
Если бы вы использовали его, следующее правило с принудительным исполнением, что только TCP
может уйти.
## The next rule ensures, that only tcp can leave and achieves the desired result from (4).
iptables -A OUTPUT ! -p tcp -j REJECT --reject-with icmp-port-unreachable
Вообще говоря, -p tcp
будет означать "только TCP
". И ! -p tcp
здесь означает все протоколы, кроме TCP
.
Обязательным важным элементом здесь является брандмауэр Whonix-Gateway.
Он белым цветом перечисляет трафик UDP
на порт 53
(DNS
) и перенаправляет его на Tor'овский DnsPort
. Найдите в скрипте брандмауэра -p udp --dport 53
, чтобы увидеть соответствующие правила. Другой трафик, который он записывает в белые списки и перенаправляет, это TCP
. Отдых блокируется благодаря сбросу политики (в качестве страховочной сети) и/или сбросу/отказу по последнему правилу (в зависимости от цепочки).
В зависимости от цепочки.... Перед тем, как кто-то спросит, что я имею в виду.
Full disclosure:
Я сопровождающий Уоникса.
Ядро Linux автоматически управляется управлением кэшем. Все, что загружено в оперативную память, остается там, пока другой процесс не нуждается в RAM, и больше нет. Таким образом, в RAM RAM Linux всегда должна быть заполнена. У вас система 128 ГБ ОЗУ, это более чем достаточно для файла 100-1000 МБ.
Чтобы загрузить огромный файл в RAM только CAT
: Это:
cat huge_file > /dev/null 2>&1
Все вывод отправляется на / dev / null
, но для этого он должен передавать системы RAM. При этом вы можете наблюдать, как кэшируется
в / proc / meminfo
.
Когда CAT
заканчивается, выполняют приложение Ruby. Приложение Ruby теперь читает кэшированную версию огромного файла.
Ответ Яна хороший, переменная среды http _ proxy
считывается многими программами, например wget
. Этот
export http_proxy="http://@${proxyserver}:${port}"
можно добавить в профиль ~/.bash _
.
Также работает yum
, но вы также можете указать его в /etc/yum.conf
.
Аналогичным образом можно настроить и другие программы (например, git
в ~/.gitconfig
, chrom --proxy-server = host: port
).
Некоторые программы не считывают эту переменную среды, например svn
. Необходимо указать прокси
. Это работает путем замены общих сетевых библиотек на прокси-версии , которые направляют трафик через прокси. Например, proxchains
или tsocks
.
Наилучшим источником для каждой программы является открытие руководства и поиск прокси
.
btw , причина, по которой ваша попытка не удалась, заключалась в том, что вы не должны использовать космос между http _ proxy
и =..
, иначе нельзя объявить эту переменную (bash считает, что это команда, но не находит соответствующую ей в $ PATH
.).
Файл fmpcb.h больше не существует в последней версии Arb. Типы fmprb_t и fmpcb_t в Arb 1.x устарели из-за (более эффективных) типов arb_t и acb_t в Arb 2.x. Последняя версия полностью удалила устаревший тип fmpcb_t.
Вы должны иметь возможность получить код из этого блога, работая путем замены fmprb - > arb и fmpcb - > acb и, возможно, внесения других незначительных корректировок.
Однако лучшим решением является использование примерной программы Keiper-Li, которая включена в Arb:
https://github.com/fredrik-johansson/arb/blob/master/examples/keiper_li.c
Это в основном лучшая версия программы в блоге post. Она быстрее, поддерживает многопоточность, позволяет передавать аргументы в командной строке вместо перекомпиляции, и она должна быть в курсе текущего интерфейса.
Из исходного каталога Arb можно построить и запустить примерную программу следующим образом (при условии, что Arb уже установлен):
cd /home/user/src/arb
make examples
build/examples/keiper_li 100
Можно также построить библиотеку и запустить примерные программы без установки Arb, сообщив компоновщику, что он может найти libarb.so в исходном каталоге:
cd /home/user/src/arb
make
export LD_LIBRARY_PATH=/home/user/src/arb:$LD_LIBRARY_PATH
make examples
build/examples/keiper_li 100
Для получения документации по примерным программам Arb см.: http://fredrikj.net/arb/examples.html
-121--133851- Используйте dd
для чтения раздела файла, не читая все предшествующее.
Для примера (чтение байтов от 4 120 000 до 4 120 400) можно использовать
dd bs=400 skip=10300 count=1 if=your_input_file of=your_output_file
Это определяет размер логического блока в 400 байт,
и затем сообщает dd
пропустить первый 10300 «логических блоков» входного файла (, если
).
10300 - это 4,120,000 start400.
Затем считывает один блок ( count = 1
) из 400 байт и записывает его в выходной файл ( из
).Если опустить из спецификации
,
dd
запишет в стандартный вывод, так что вы можете направить его в что-то.
Если начальная точка (смещение) не гарантирована быть целым числом, кратным размеру блока (или даже если оно есть), Вы можете делать более сложные вещи, как
(dd bs=10000 skip=412 count=0; dd bs=400 count=1 of=your_output_file) < your_input_file
или
(dd bs=4120000 skip=1 count=0; dd bs=400 count=1 of=your_output_file) < your_input_file
где
из спецификации
, и это будет запись в стандартный вывод. dd
без спецификации , если
, она считывается из стандартного ввода.
Стандартный ввод для всего (dd...; dd...)
группа команд
поступает из < вашего _ входного файла _
в конце. dd
не считывает и не записывает данные из-за count = 0
;
он только стремится. dd
получают стандартный ввод от одного и того же перенаправления ввода-вывода,
поиск, выполняемый первым, повлияет на указатель файла, который видит второй.