タグ

TCPとツールに関するiwwのブックマーク (6)

  • TCPパケットを解析して構造化ログでダンプするツール tcpdp を作った - Copy/Cut/Paste/Hatena

    やっと形になってきました。 github.com 「データベースのクエリログを取得したい」 例えば、データベース(RDBMS)のクエリログを取得したいとき一番確実な方法は、そのRDBMSに備わっているログ機構を利用することです。 一方で、全てのクエリログを出力するとなるとそれなりにIO負荷がかかることが予想されるので、負荷状況によってはクエリログ出力(のIO負荷)を別サーバに分離したくなります。 では、どうすればよいかというと、例えば アプリケーションサーバとデータベースサーバの間にプロキシサーバを挟んでそこで記録することでIO負荷を分離する アプリケーションサーバ側で(notアプリケーションで)記録することで(大抵、サーバ台数の多い)アプリケーション側にIO負荷を分散する というような方法を思いつきます。 そこで、「もし、TCPコネクション上に流れている(例えば)クエリログを解析してログ

    TCPパケットを解析して構造化ログでダンプするツール tcpdp を作った - Copy/Cut/Paste/Hatena
    iww
    iww 2018/09/25
    『対応しているプロトコルであればTCPパケットを解析して、構造化ログとして出力可能』 wiresharkみたいな感じなのかな
  • socat - ソケットリレーツール (proxy) - Tomorrow is always fresh with no mistake in it.@備忘録

    SCTPという、TCPとUDPのよいとこ取りをしたようなプロトコルがある。「SCTP(ネットワーク通信)」に書いたとおり、echoサーバを作成したが、動作確認のためにクライアントが必要になった。 telnetなどのTCP用のツールは使えないので、クライアントのプログラムも作成したが、もっと簡単にためせるツールがないかと思っていたら、「socat」というコマンドを見つけた。 netcat(nc)(「netcat - ネットワーク万能ツール」を参照)をさらに機能強化して、これでもかというくらいいろいろオプションが指定できるようになっている。 あろうことかnetcatでは封印されているコマンドの実行も可能になっている。

    socat - ソケットリレーツール (proxy) - Tomorrow is always fresh with no mistake in it.@備忘録
  • socatを使ってみる | FUture REal LOcation

    複数台のWebサーバ(Apache)が動作している環境で、 アクセスログを簡単に集約できないか調べていた。 アクセスログを、netcat(ncコマンド)を利用して、UDPパケットとしてブロードキャストに投げ、 それをログ収集サーバが受け取ることができないか調べていたが、CentOS付属のnetcatでは出来なかった。 ※詳しくは調べていないが、UDPで待ちうけるように設定した場合、一回通信が開始されると、その待受けポートがなくなってしまう模様。 代わりのものを調べていたら、socatというnetcatの高機能版のようなツールがあった。 TCP/UDPだけではなく、IP,SCTP,PTY,EXEC等多数のプロトコルを扱える。 EPELにsocatパッケージとして登録されている。 # yum install --enablerepo=epel socat ●利用方法 サーバ側は以下のようにして

  • socat メモ

    ■UDPで待受 # socat UDP-LISTEN:10000,fork,reuseaddr STDOUT ■TCPで待受 # socat TCP4-LISTEN:10000,fork,reuseaddr STDOUT ■受信したデータをファイルへ保存 # socat TCP4-LISTEN:10000,fork,reuseaddr OPEN:output.txt,creat=1 ■コマンドサーバ(受信したデータを入力としてコマンドを実行し、結果を返す) echoサーバ # socat TCP4-LISTEN:10000 SYSTEM:cat 時間を返す # socat TCP4-LISTEN:10000,fork,reuseaddr SYSTEM:"date +%s" ■UDPで送信 # socat STDIN UDP-SENDTO:192.168.128.xxx:10000 ■TCP

  • @IT:Java TIPS -- HTTPメッセージのやり取りをモニタする

    Webアプリケーションでは、通常Webブラウザを使って動作確認をしながら開発を進めていくことでしょう。しかし、Cookieや認証などHTTPヘッダに含まれる情報を使ったプログラムを作っている場合や、ファイルアップロードなどの際にPOSTフォームで送信されるデータの中身を確認したい場合には、Webブラウザとサーバとでやり取りされている生のHTTPメッセージの内容を確認したくなります。たいていのWebブラウザでは、HTMLソースの閲覧はできますが、ヘッダ情報も含んだHTTPメッセージを見ることはできません。 そんなときに使える便利なツールが、「Axis TCPモニタ」(以降tcpmon)です。tcpmonを使えば、Webブラウザとサーバ間で送受信されるHTTPメッセージをモニタリングすることができます。tcpmonは、ApacheのWebサービスプロジェクトAxisの付属ツールとして提供されて

    @IT:Java TIPS -- HTTPメッセージのやり取りをモニタする
  • tcpdumpやwiresharkでTCP制御フラグを指定してパケットを収集する方法 - Eiji James Yoshidaの記録

    tcpdumpやwiresharkでTCP制御フラグを指定してパケットを収集する方法を忘れることが多いのでメモ。 SYNフラグが設定されたパケットの収集 "tcp[13] & 2 != 0" SYNフラグが設定されていないパケットの収集 "tcp[13] & 2 == 0" SYNフラグのみ設定されたパケットの収集 "tcp[13] & 255 == 2" ACKフラグが設定されたパケットの収集 "tcp[13] & 16 != 0" ACKフラグが設定されていないパケットの収集 "tcp[13] & 16 == 0" ACKフラグのみ設定されたパケットの収集 "tcp[13] & 255 == 16" ACKフラグとSYNフラグが設定されたパケットの収集 "tcp[13] & 18 == 18" ACKフラグとSYNフラグのみ設定されたパケットの収集 "tcp[13] & 255 ==

    tcpdumpやwiresharkでTCP制御フラグを指定してパケットを収集する方法 - Eiji James Yoshidaの記録
  • 1