Best-in-class native macOS app to capture, decrypt, and mock your HTTP(s) requests/ responses with powerful debugging tools.
![Proxyman · Debug, intercept & mock HTTP with Proxyman](https://cdn-ak-scissors.b.st-hatena.com/image/square/2c2061897da0d88411ca3b1fc5ecd801d19732cd/height=288;version=1;width=512/https%3A%2F%2Fproxyman.io%2Fassets%2Fimages%2Ftwitter_banner_v5.jpg)
『Proxying Ethernet in HTTP』という仕様がGoogleのAlejandro R Sedeño氏から提出されています。これは、HTTP上でイーサネットフレームを送受信させるための仕様です。 背景として、IETFでは、Masque WGにおいてHTTPコネクション上で通信をトンネリングする仕組みの標準化を行っています。 RFC 9298 Proxying UDP in HTTP Proxying IP in HTTP すでに標準化が進められている、上記の仕様に続きイーサネットフレームを取り扱えるようにするというのが今回の提案です。ユースケースについては、L2VPNを実現するのに利用する例が挙げられています。 Proxying Ethernet in HTTPの概要 『Proxying Ethernet in HTTP』では、"RFC 9297 HTTP Datagram
はじめに 前回、MySQLのmaster slave構成をDockerで作ってみた が、実際の開発では複数DBをアプリケーションから使うには一工夫必要である。もっとも素朴な方法は使用するDBの接続情報をアプリケーションですべて保持しておき、read系/write系で使い分けることだと思う。しかし、これは次のような問題がある。 DBの接続情報は途中で変わりうる アプリケーションのロジックにDBの使い分けが入るのは面倒(だし複雑) そこで、今回は ProxySQL を試してみる。ProxySQLは アプリケーションとDBの間に入って、次のようなことをしてくれる。 クエリに応じたmaster / slave への自動プロキシ 負荷分散 シームレスな接続設定の変更 どの程度メジャーなのかはいまいちわかっていないが、公式の mysql-proxyよりは使われているようだったので選んだ。ちなみにPro
こんにちは、SSTでWeb脆弱性診断用のツール(スキャンツール)開発をしている坂本(Twitter, GitHub)です。 社内で診断ツールやプロキシを開発していることもあり、通信関連のトラブル相談を受けることがあります。 その中で「そもそも HTTP(S) Proxyを設定するとはどういうことか?」を解説する機会が何度かありましたので、これを機にエンジニアブログで紹介したいと思います。 当ブログの読者としてはWebエンジニアや情報セキュリティ関係者が多いと思います。 そうした方であれば「Proxyを設定する」経験がある方もいらっしゃるでしょう。 では「Proxyを設定する」とはどういうことか、ご存知でしょうか? 本記事ではその疑問について、Wiresharkを用いたパケットレベルの観察を元に解説します。 パケット観察1: HTTP Proxy ON/OFF curlコマンドでHTTPリク
これらの違いが分からない. Zero Trust ProxyIdentity Aware ProxySingle Sign On Proxy 具体的なソフトウェア名はわかる. (製品) Google Cloud IAP → IAPPomerium → IAPOAuth2-Proxy→SSO ProxyBuzzFeed SSO→SSO Proxy 検索してみた.わからない.Zero Trust Proxyの実装のひとつがIdentity Aware Proxyなのだろうか.では従来のSSO Proxyとは何が違うのだろうか. 特に「ID認識型プロキシ(Identity Aware Proxy)」と呼ばれる仕組みを中心に据え、認証・認可を強化している。これは、アプリケーションやユーザーの場所を問わず、無理のない方法でアクセスさせる仕組みだ。アカマイのID認識型プロキシは、EAA(Enterpr
One of the popular ways to inspect HTTPS requests in iOS Apps is the Man-in-the-middle (MITM) attack. This technique requires a machine to be used as a proxy server for the client. For this to work, the client has to install the proxy server’s certificate into the device global trust store. By doing this, the client whitelists the certificate and hence allows HTTPS communication…
お久しぶりです。 @kalibora です。 いきなりですが、 Google Cloud Identity-Aware Proxy (以下Cloud IAP) 便利ですね。 詳細は Cloud Identity-Aware Proxy | Identity-Aware Proxy | Google Cloud この辺りを読んでもらえばいいとして、 知らない人にざっくり説明すると、 既存のWebアプリにこの機能を設定すれば、必ずGoogleログインが必須になり、 ログインしたユーザーがあらかじめ許可されたユーザーであれば、既存のWebアプリに通して(プロキシして)くれる。 というような機能です。 G Suite を使っている会社であれば、社員がみんな Google アカウントを持っているので、 社内の管理系ツールなどに認証機能がなくとも、この機能を使えばあっという間に認証機能のできあ
ᕕ( ᐛ )ᕗ こんにちわ、しいたけです。 webのhttps化が推進される昨今ですね? https通信は経路上での通信内容が盗聴・改竄されるのを防ぐことができますが、開発用途でhttps通信の内容を確認したい場合が稀にあります。 そのような場合は mitmproxy などを導入すればよいのですが、せっかくなので実際にこのようなProxyをGoで実装してみて、 中間者攻撃(Man-in-The-Middle Attack)がどのような手法でhttps通信を盗聴・改竄するのか確かめてみました。 実際に書いたProxyのコードはこちらです yuroyoro/mitm_proxy_sample https proxy と HTTP CONNECT tunneling まず、通常のhttps Proxyの動作を確認してみましょう。 httpsでは、ProxyはクライアントからのCONNECTメソッ
概要 自分が作ったサービスを、知り合いに触ってもらいたいけど、一般の人全員に公開するにはちょっと・・・ 最終的には世の中にサービスを公開したいけど、知り合いのテストのためだけにログイン機能を作るのも面倒・・・ そういう時に、アプリケーションサーバーのコードの変更なしに、簡単に外部のテスト環境を提供することが出来るのが、ngrokとNGINXです。 この記事では、それらの"知り合いレベルで公開するためのちょっとしたテストのための環境"の構築方法を紹介します。 今回構築するサーバー構成 自宅のネットワーク内に、公開したいアプリケーションサーバーがあるとします。 このネットワーク内に、NGINXを立てて、認証機能を追加し、ngrokで外部のネットワークからリクエストが受け取れるように設定します。 テスト用のアプリケーションサーバーの構築 ここは自分が作ったWebサービスのアプリケーションサーバー
The goal is to implement a proxy server for HTTP and HTTPS. Handling of HTTP is a matter of parsing request, passing such request to destination server, reading response and passing it back to the client. All we need for that is built-in HTTP server and client (net/http). HTTPS is different as it’ll use technique called HTTP CONNECT tunneling. First client sends request using HTTP CONNECT method t
個人的に、Nginx で「これは危険だ」と思っている設定があって、Nginx でなにかあるたびにその設定をつい疑ってしまいます。その設定について他の人に話すたびに、いちいち資料を集めるのが面倒になってきたので、今回はその設定項目についての情報をまとめておきます。 まだ理解に自信がない部分があるので、新しい情報が入ってきたら、この記事を適宜修正します。 リバースプロクシ設定の基本 Nginx をリバースプロクシとして使う時には、ngx_http_upstream_module でサーバのグループを定義します。そして、サーバ名やロケーション(パス)に対して、送信先のグループを指定します。 以下はマニュアルにある例です。その Nginx サーバへのすべてのアクセスを、backend グループに指定されたいずれかのサーバに送信します。 upstream backend { server backe
[20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。 例えば本番環境のproxyからリクエストを複製して開発環境に流すような事も出来ます。もちろん複製処理は本来のリクエスト処理をブロックしません。 例えば以下のように、mirrorに来たリクエストを複製してバックエンドサーバに投げるようにしてみます conf server { listen 80 ; server_name localhost; mirror_request_body on; log_subrequest on; location /mirror { mirror /proxy; #/proxy宛にリクエストを
はじめに docker-swarmとか全く知らないdocker素人です。 Proxy環境でdockerの仮想環境を作ったらapt-getが通らなくて無事死亡したので調べてみました。 あ、一つ言っておきますが、ネットワークの知識はほぼありません。 ProxyとDNSがどういう機能・役割であるかはわかりますが、どのように連携してシステムになってるのかすら知りません。 前編(?):Dockerで開発環境を仮想化する Docker DaemonにProxy設定を教える dockerコマンドを実行するときは外部のネットワークに接続する必要があるならDocker Daemon自体にプロキシ設定が必要です。 たとえば、Docker DaemonがProxy設定を知らないと、FROMコマンドでイメージをDLしてくることができないと思います。 Proxy設定には以下の5種類ぐらいがあると思いますが、必要なの
特定のサーバーに対して多く接続を振り分けたい場合、serverキーワードの「weight」オプションで振り分けを行う際の重み付けを指定できる。次の例では「centos01」の重みを1、「centos02」の重みを2に設定している。 frontend web_proxy default_backend web_servers bind *:80 backend web_servers server web01 centos01:80 weight 1 server web02 centos02:80 weight 2 roundrobinアルゴリズムの場合、指定した重みに比例してそのサーバーに振り分けられる接続数が増加する。この例の場合、centos02というサーバーにはcentos01の2倍の数の接続が割り振られるようになる。 サーバーの監視 HAProxyのデフォルト設定では、バックエン
zabbix-proxy-mysql/MariaDB Zabbix agent zabbix-agent インストール Zabbix server 通常のzabbix serverインストールと同様 webインターフェース(zabbix-web群)を除いたzabbix serverインストールとほぼ同じ 1. MariaDBをインストール 2. MariaDBにzabbix用のDB・ユーザーを追加 3. zabbix-proxyをインストール 4. MariaDBに initial schema と data を追加 (/usr/share/doc/zabbix-proxy-mysql-x.x.x/schema.sql.gzを実行する) 5. zabbix_proxy.confの変更 6. zabbix proxyの起動 Zabbix agent 通常のzabbix agentインストール
npmパッケージの依存するパッケージの中にはgit://で始まるURLが指定されていることがあってプロキシ環境下だとクローンできない。 git://github.com/hogehoge/fugafuga.git のような。 git://のみcloneに失敗とか、timeoutのエラー表示ならほぼプロキシを経由できていないからかと思う。 gitがプロキシを超えられるようにする 準備(git://でなくても必要) 環境変数の設定 HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxyそれぞれに http://proxy.example.com:8080のように設定する 続く手段1と2はどちらでも良い。1が簡単。 手段1 参考:A simple wrapper around socat to use as a git proxy command git
Go1.8ではdatabase/sqlのcontextサポートが入ります。 (きっと今日のGo 1.8 Release Partyで詳しく説明があるはず、たぶん) それにともないGo言語でSQLのトレースをするで紹介した shogo82148/go-sql-proxyでもcontextを扱えるようにしました。 Go1.8新機能のサポート Golang 1.8 でやってくる database/sql の変更点で mattnさんが紹介しているように、Go1.8ではdatabase/sqlにいくつか新機能が追加されます。 (mattnさんの対応が早すぎて、メソッド名とか微妙に変更が入っているので注意) 特に大きなのがcontextのサポートでしょう。以下のようなコードでクエリのキャンセルが可能になります。 ctx, cancel := context.WithCancel(context.Bac
Webサイトのテストや開発をしていると時に DNS に登録されている名前以外の名前で Webホストをアクセスしたい事があります。 例えば、家のネットにある 192.168.100.123 という IP アドレスを持ったホストを 本番のホスト名でアクセスしたいなと思う事があります。 (name virtual host を使っている時や、正規の ssl 証明書でテストしたいけれども未だ世界にかけては公開していない場合など) 今までは、家のルーター(NVR500)の簡易 DNS サーバー機能を利用したり、クライアントマシンの hosts ファイルを書き換えていました。 クライアントマシンの hosts ファイルを書き換えるのはできりるだけ避けたいし、 NVR500 のの簡易DNS サーバー機能を使う方法も、汎用性が無い上に設定を元に戻すがめんどくさいので、何か良い方法がないかと思っていました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く