$ cat test
1234
ABCD
EFGH
$ awk -F "" '{print $2$3$4$1}' test
2341
BCDA
FGHE
Можно изменить разделитель через "-F" согласно данным и расположить порядок полей произвольно.
Попробуйте mitmproxy.
mitmproxy является способным к SSL прокси man-in-the-middle для HTTP. Это обеспечивает консольный интерфейс, который позволяет потокам трафика быть осмотренными и отредактированными на лету.
mitmdump является версией командной строки mitmproxy с той же функциональностью, но без пользовательского интерфейса. Думайте tcpdump для HTTP.
Я устанавливаю пример приложение Начальной загрузки Jekyll, которое слушает на порте 4000 на моем localhost. Для прерывания это - трафик, я сделал бы следующее:
% mitmproxy --mode reverse:http://localhost:4000 -p 4001
Затем соединитесь с моим mitmproxy на порте 4001 от моего веб-браузера (http://localhost:4001
), приводя к этому в mitmproxy:
Можно затем выбрать любой из GET
результаты для наблюдения информации о заголовке связались к этому GET
:
Для некоторых ситуаций, вы можете использовать полномочие, которое признает, что поступающий HTTP просит и обращается с коммуникабельными просьбами HTTPS. В качестве примера я хотел захватить трафик между git
и github.com. Я использовал mitmproxy :
mitmproxy -s httpser.py
, где httpser.py
является:
def request(context, flow):
flow.request.scheme = 'https'
flow.request.port = 443
Затем я запустил git
так:
export http_proxy="http://127.0.0.1:8080/"
git clone http://github.com/oxplot/difftr
Теперь с помощью wireshark
прослушивание localhost
можно захватить простой трафик. Без прокси github перенаправляет git
на использование HTTPS.
mitmproxy
/mitmdump
Эквивалентом tcpdump
для HTTPS является mitmdump
. Вот шаги:
mitmproxy
пакет (macOS:brew install mitmproxy
). Установите сертификат ЦС mitmproxy с помощью следующих команд:
$ mitmdump --mode reverse:http://mitm.it/ -p 8080
$ wget --content-disposition http://localhost:8080/cert/pem
$ open mitmproxy-ca-cert.pem
# Open, install and mark the certificate as trusted.
А теперь простой тест проверки обратного прокси-сервера:
mitmdump --mode reverse:https://example.com/ -p 4433
. В другой оболочке запустите:curl https://localhost:4433
.
Теперь вы должны увидеть исходный код страницы, а команда mitmdump
должна выдать вывод, подобный:
Proxy server listening at http://*:4433
[::1]:49446: clientconnect
[::1]:49446: GET https://example.com/ HTTP/2.0
<< 200 1.24k
[::1]:49446: clientdisconnect
Для всего трафика просто запустите:mitmdump
или mitmproxy
.
Дополнительные сведения см. на странице документации:mitmproxy
.
Если вы используете macOS, существует также Charles Proxy приложение (GUI ), которое позволяет просматривать весь трафик HTTP и SSL/HTTPS между хостами.