network

Elixirで簡単なProxyサーバを自作した

どうもこんにちは。ここ最近Erlangを書いてたり、AWS、OpenStackで遊んでいましたが久々にElixirを書いています。 今回はElixirでProxyサーバを自作しているので、どのような実装になっているか備忘録的に書いていきます。 動作環境 OS: debian 9 Elixir: 1.…

ErlangでHTTPリクエストをパースする

どうもこんにちは。前回に引き続きErlangでProxyを作っています。HTTP ProxyでURIごとにルーティングをさせる。さらにProxyを経由してHTTPリクエストをするので「X-Forwarded-For」をHeaderに追加させる必要があります。そのためHTTPリクエストの簡単なパー…

Erlangで簡易的なTCP Proxyを作った

どうもこんにちは。久々に記事書きます。 サボりにサボってやく一年ぶりぐらい(正確には11ヶ月ぶりぐらい)でしょうか。「ちゃんと更新しないとなぁ」っと思いつつこれぐらいに月日が立ってしまったのでこれからは真面目に更新しようと思います! Erlangで…

golangでUDPを使ってみた

環境情報 go version : 1.8 os : kubuntu 16 やったこと UDPサーバの実装 UDPクライアントの実装 UDPサーバの実装 UDPはステートレスなプロトコルなので、セッション情報を持たず一方的に送り付けるプロトコルです。 なのでTCPと比べて比較的に実装は楽です…

golangでTCPを使ってみた

環境情報 go version : 1.8 os : kubuntu 16 やったこと LookupPort TCP Client LookupPort 現在、実行してるサービスのポートを調べることができます。 net.LookupPort(network, service string) (int, error) networkは"tcp"か"udp"になります serviceは実…

golangで名前解決(DNS)まわりをする

golangで名前解決周りをするにあたって go version : 1.8 os : kubuntu 16 やったこと 名前解決 Lookup 名前解決 golangで名前解決する方法として、netパッケージ内のメソッドを使うことで、一発でできる メソッド net.ResolveIPAddr(net, addr string) (*IP…

golangでnetwork programmingしてみた

golangでnetwork programmingするにあたって go version : 1.8 os : kubuntu 16 やったこと IPアドレスのパース IPMask IPアドレスのパース 文字列のIPアドレスをパースして[]byte(IP型)へ変換する。 使ったメソッド net.ParseIP(ip string) IP 文字列はIP…