忍者ブログ
[PR] ()
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

by
TCPパケット (技術メモ)
○接続開始時
c→s@SYN
s→c@SYN,ACK
c→s@ACK
○接続終了時
s→c@FIN,ACK
c→s@ACK
c→s@FIN,ACK
s→c@ACK

接続開始のは3ウェイハンドシェークとか呼ばれるもので
終了も似たようなものです。
大体この接続開始、終了の辺りはどこの解説ページにも
書かれているので比較的参考ページは多いと思います。

tcpdumpなどでパケットを見ているとこの接続開始、終了部分と
実際のデータのやり取り部分が見れたりしますが、
そこはそれでまた違うフラグが使われてたりします。
基本的にSYNから始まるというのがルールみたいなので
iptablesの設定で
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
という設定で接続開始がSYN以外なら捨てるというのがあるんですね。

SYNなどのフラグには他にもいくつか種類があります。
SYN@接続開始の最初に使うフラグ
ACK@受信確認に使う
FIN@接続終了に使う
PSH@素早いパケットの送受信に使用
URG@緊急データ転送に使う
RST@接続のリセットに使う

通常はSYN以外は全てのパケットにACKが付くらしいです。
といっても交互にやってる時がそれなのかな?
相手から送られてきた要求に対し、レスポンスを返すのと
同じパケットで受信したよって省略しちゃうみたいです。
途中のデータのやり取りはPSH,ACKが交互に行き交うような
感じのようです。


iptablesの設定をやってる最中でお仕事の方でも
触る機会があったので(つまりネットワークトラブルが
あったという事)早速入手した知識を活用してたりします。
更にはtcpdumpでパケットを見るとかより深い部分にまで
手を出さざるを得なくて、ある意味一石二鳥だったりします。
プログラマの筈なんだけどねっ。
PR
by yy3Trackbacks()Comments(0)
Comments
Comment Form
Subject

Name

Mail

Web

Pass
Comment

Trackbacks
Trackback Address
メモとか
MASTER : yy3
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
(10/28)
(08/18)
(07/27)
(07/27)
(07/15)
ブログ内検索
アクセス解析
OTHERS
Powered by 忍者ブログ
Designed by TABLE ENOCH
[PR]

△ページの先頭へ