タグ

tcpに関するi_matsuiのブックマーク (14)

  • netstatコマンドを使いこなす @IT:Windows TIPS -- Tips:

    TCP/IP関連のトラブルシューティングを行う場合に、必ずといってよいほど使うコマンドとして「netstat」コマンドがある(実行ファイル名はnetstat.exe)。このコマンドは、主にTCPの通信状態を調べるためには必須であり、ぜひともその使い方をマスターしておきたい。 netstatの基――通信中のTCPコネクションの調査 netstatコマンドの最も基的な使い方は、通信中のTCPコネクション(TCP接続)の状態を表示させることである。このコマンドを実行すると、ローカルPCのTCP/IPプロトコルスタック上において、現在アクティブになっているTCP通信の状態を表示できる。 ●「TCP」とは? 「コネクション」とは? TCPとは、2つのアプリケーション間で、信頼性のある通信路(コネクション)を開設し、お互いにデータなどをやりとりするための機能である。通信するアプリケーションは、同一

    netstatコマンドを使いこなす @IT:Windows TIPS -- Tips:
  • Socket通信の勉強(1) - ディスクリプタ/TCPによる通信

    Socket通信を勉強する。 前提プログラムはMac(Mojave)で動かす。ネットワークに関する知識はほんの少しある。使うプログラミング言語はC++だが、ここではbetter Cの意味でしか用いない。(寄り道) ファイル入出力Socket通信を学んでいると、ファイルディスクリプタが出てきたので、まずはそこから勉強する。 関数定義についてはJM Projectから引用したものを用いる。これはLinuxマニュアルと同じらしいので、恐らくmanコマンドで出力されるものと同じである(ただし英語であるが)。 ファイルディスクリプタとはファイルディスクリプタとは、ファイルと結びつけられた単なる整数値である。データの読み書きを行う場合は、この整数値を指定してアクセスする。例えばファイルtest.txtのファイルディスクリプタが4だった場合、読み書きをする関数read/writeには引数4を指定する。

  • NGINX を使った TCP/UDP Proxy の構築 | SIOS Tech. Lab

    ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください ◆ 【よくわかるGrafana入門~バックアップ・リストアとアップグレード~】 オンラインセミナー開催 11月10日 12:15~13:00◆ GrafanaとはOSSの可視化ツールです。 サーバーのメトリクス・ログ監視、Kubenetes監視、IoT監視など、ITを中心とした幅広い用途で活用されています。 今回はそのGrafanaのバックアップリストア・アップグレードについて、掘り下げて説明していきます。 ⇒ お申込みはこちらから こんにちは。サイオステクノロジー OSS サポート担当 Y です。 今回は NGINX で Re

    NGINX を使った TCP/UDP Proxy の構築 | SIOS Tech. Lab
  • TCP実験室 - Qiita

    #1 はじめに TCPについて、思いついたまま、いろいろ実験をしてみようと思います。 なお、TCPの各種状態の作り方は、TCPの各種状態の作り方を参照してください。 #2 環境 VMware Workstation 12 Player上のゲストマシンを使っています。 ゲストマシンはサーバとクライアントの2台構成です。 サーバ、クライアントともに下記設定です。 [root@server ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@server ~]# uname -r 3.10.0-514.el7.x86_64 [root@server ~]# cat /etc/hosts 192.168.0.100 server 192.168.0.110 client #3 CLOSE_WAITとは? パッ

    TCP実験室 - Qiita
  • Webサーバにおけるソケット周りの知識 - Carpe Diem

    概要 サーバサイドの仕事をしているとソケットという概念に遭遇すると思います。 ソケットを理解すると TCPセッションの流れ ulimitでnofileを上げないとコネクション増加した時のToo many open filesが出るのはなぜか なぜサーバの待ち受けポートは1つで、クライアントのポートは接続するたびに新しいポートが必要なのか unix domain socketはなぜファイルパスを指定するのか Circusはなぜgraceful restartが可能なのか といったことが分かるようになります。 今回そういったソケット周りの知識を理解するためにまとめます。 ファイルディスクリプタ ソケットを扱う上で切り離せないのがファイルディスクリプタ(以下fd)です。 fdとはファイルやソケットなどを抽象化した仕組みです。 ファイルディスクリプタという名称ですが、ファイルに限らず標準入出力、ソ

    Webサーバにおけるソケット周りの知識 - Carpe Diem
  • ソケットプログラミングのTips

    概要 ソケットプログラミングに関するTipsをメモレベルで記載する。 切断検知と経路切断 TCPコネクションの切断検出 対向がclose()、shuttdown()、プログラム終了等をしたときの切断検出について。 OSをシャットダウンさせた場合も通常はアプリケーションの終了処理が走り、正常な切断が動く。 受信側の切断検出は、recv()がlength==0で返ってきたとき、または、errno==ECONNRESETとなる。(ECONNRESETはRSTによって切断された場合) 送信側の切断検出は、切断された後2回目のsend()がエラーとなる。 ※相手がclose()→こちらがsend()→相手にパケットが飛ぶが待ち受けプログラムがいないためRST応答が来る→もう1度send()→エラー ※send()自体はカーネルの送信バッファにデータコピーするだけなので、TCPレベルの応答(送信完了)

    ソケットプログラミングのTips
  • QUICをゆっくり解説(1):QUICが標準化されました | IIJ Engineers Blog

    Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 不定期連載を始めます IIJ-II 技術研究所 技術開発室の山です。私はプログラミング言語HaskellでHTTP/2とTLS 1.3を実装した後、もっぱらQUICを実装することに時間を費やしてきました。 ご存知の方もいらっしゃると思いますが、今年の5月にQUICの仕様がRFC9000として公開されました。このRFCは実によく書かれているので、読みこなせばQUICの全容が掴めるでしょう。 しかし仕様は膨大ですし、実際に実装してみて初めて腑に落ちることもあります。そこでこの機会に、実際にQUICを実装した経験者目線で、QUICの解説をしていきたいと思います。なんとなくTCP/IPを分かっている方が、ある程度QUICの理解ができることを

    QUICをゆっくり解説(1):QUICが標準化されました | IIJ Engineers Blog
  • Scapy入門 - Qiita

    注意 scapyはroot権限がないと実行できないです ヘッダの作り方 Ethernetヘッダ Ether() IPヘッダ IP() TCPヘッダ TCP() ARPヘッダ ARP() DNSヘッダ DNS() パケットの作り方 "/"で区切るだけ Ether()/IP()/TCP() フィールドの追加方法 2通りあります。 ① 引数にフィールドを書く ② 変数にいれた後にドットで指定する

    Scapy入門 - Qiita
    i_matsui
    i_matsui 2021/07/08
    [tcp/ip][ネットワーク]
  • WebRTC で利用されいる TURN プロトコルの解説

    webrtc_turn.rst WebRTC で利用されいる TURN プロトコルの解説 日時 2021-01-29 作 @voluntas バージョン 2021.2 url https://voluntas.github.io/ この記事が良いと思ったらこの記事に Star をお願いします。 著者 株式会社時雨堂 で 1 から多くの商用環境で利用されている WebRTC SFU を開発している。 WebRTC スタックは暗号ライブラリの利用している部分以外はすべて自前実装。 概要 WebRTC は P2P というイメージをお持ちの方が多いと思います。 今回は P2P で繋げなかった場合に利用される TURN というプロトコルの話をします。 目的は単純で、気で WebRTC を使う場合は繋がることが重要になります。 そして、トラブルシューティングをする人向けの話です。 実際に運用している

    WebRTC で利用されいる TURN プロトコルの解説
  • LinuxのTCP Keep-Aliveを確認する - CLOVER🍀

    これは、なにをしたくて書いたもの? TCPのKeep-Aliveについて、なんとなく知ってはいたものの、自分でちゃんと確認したことがなかったので1度見てみようかなと 思いまして。 TCP Keep-Alive Keep-Aliveという言葉は、その言葉が適用される文脈で変わったりしますが、今回はTCPのKeep-Aliveを対象とします。 TCPのKeep-Aliveは、アクティブなTCPソケットに対して、通信相手がまだ健在か確認するためのものです(Keep-Alive)。 Keep-Aliveについては、RFCが存在します。 RFC 1122 - Requirements for Internet Hosts - Communication Layers Requirements for Internet Hosts -- Communication Layers TCP通信時にTCPソ

    LinuxのTCP Keep-Aliveを確認する - CLOVER🍀
  • adbで遊ぶ - mukachoの日記

    abc2012sでadbの面白さを知りました 日 abc2012 Spring に行って来ました。そこで adb の話を聞いて、とても面白そうだったので少し遊んでみました。とりあえず adb のポートフォワーディング機能を使って、PCで取得したHTMLデータをandroidに送ってWebViewに表示させてみました。 adbの仕組み ↑こんな感じらしいです。普段使っているのは基的に adb-client で、バックで adb-server が動いているようです。直接使っていなくてもeclipse等でも裏ではadbが動いています。 ポートフォワーディングのやり方 「adb forward tcp:xxxx tcp:yyyy」 と打てばOKです。xxxxはローカルホストで使うポート番号、yyyyはandroid端末で使うポート番号です。 まずandroid端末側でポートyyyyで待ち受ける

    adbで遊ぶ - mukachoの日記
  • ソケット通信メモ(Hishidama's TCP/UDP Socket Memo)

    TCPソケット サーバータイプとクライアントタイプの両方のアプリケーションを作らないといけないなら、サーバータイプから作るべきだろう。 (クライアントタイプだけ先に作っても動かせないから。まぁサーバータイプだけ動かしても、待ってるだけであまり意味無いけど(苦笑)) でも仕組みはクライアントタイプの方が簡単。 TCPを使う場合は、通信の最初にコネクションの確立を行う必要がある。 サーバーでlisten・accept、クライアントでconnectが成功すればコネクションが確立したことになる。 どのポート番号を使うかについては、サーバー側はアプリケーションの作成者が決める必要がある。[/2007-06-16] クライアント側のポート番号は、ソケットライブラリがそのマシンで使っていない番号を自動的に割り振ってくれるので、気にしなくてよい。 IANAの基準では、1~1023は「よく知られたポート(w

  • Geekなぺーじ : TCP vs RTP:何故RTPが必要なのか?

    インターネットを流れるトラフィックのほとんどがTCP(Trasmission Control Protocol)によるものです。 TCPは、全てのデータが正しく相手に伝わることを保証するため品質の高いデータ通信が実現できます。 また、どのパケットが受け取れなくて、どれが受け取れたかなどをわざわざ考えなくても良いので、プログラムを書くのも簡単です。 では、何故、わざわざRTPというものが必要だったのでしょうか? ここでは、まず最初に何故RTPはTCPではなく、UDPの上に存在しているのかを説明したいと思います。 (もちろん、TCPの上に作ることはRTPの規約上は可能ですが、現実的にはUDPの上でしか実装がないと思います。) その後、何故、UDPの上に共通のRTPというものを構築したのかを説明したいと思います。 RTPは、名前にもある通り、「リアルタイム」なデータを転送するためのプロトコルです

  • SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO

    はじめに サーバーレス開発部@大阪の岩田です。 先日接続元IPアドレスをクラスメソッドのGIPに制限した検証環境を利用してAPIのテストを行なっていたところ、リモートワーク中のメンバーが検証環境に接続できないという状況が発生しました。 下記の記事で紹介されているように、クラスメソッドではSOCKSサーバーが構築されているので、VPN経由で社内NWに接続し、SOCKSサーバーをプロキシとして利用すれば来リモート環境からでも検証環境が利用できるはずです。 VPN利用者のためにdelegateでSOCKSサーバーを立ててみました 最初はcurlコマンドのオプションに--proxyを付けてプロキシサーバーを指定するようお願いしたのですが、--proxy http://proxy.example.com:xxxxのような指定を行なっていたようで、問題が解決しませんでした。 結局--proxy so

    SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO
  • 1