Linuxサーバーへの一意のTCP接続を識別する

Linuxサーバーへの一意のTCP接続を識別する

私は、1つのLinuxサーバーから新しいLinuxサーバーにアプリケーションを移行する計画段階にあります。新しいサーバーは他のIPアドレスとは異なるホスト名を持ちます。

私のリストの項目の1つは、新しいサーバーに必要なファイアウォールルールを識別することです。私は既存のサーバーへのすべての一意の接続を識別し、それを私たちのネットワークチームに提供し、それに応じて新しいサーバーの新しいルールを作成する方法を見つけたいと思います。

しばらくの間 tcpdump を実行してみましたが、収集されたファイルで少し見ておくべき情報がたくさんありました。必要な情報を提供するために同様のツールを実行できますか? netstatを見ましたが、これは即時接続のみを提供するようです。接続が非常に短い場合は見逃すことがあります。

ベストアンサー1

サーバーに接続するリモートコンピュータをお探しですか?その場合は、それを使用iptablesして新しい接続を記録できます。

たとえば、サーバーがポート12345でリッスンしている場合は、次のことができます。

iptables -A INPUT -p tcp -m tcp --dport 12345 -m limit --limit 2/min -j LOG --log-prefix "IPTables-New-app: " --log-level 4

これにより、次のログメッセージが生成されます。

IPTables-New-app: IN=eth0 OUT= MAC=00:01:23:45:67:89:ab:cd:ef:01:23:45:67:89 SRC=10.20.30.40 DST=100.200.300.400 LEN=52 TOS=0x0A PREC=0x20 TTL=116 ID=32405 DF PROTO=TCP SPT=63669 DPT=12345 WINDOW=200 RES=0x00 CWR ECE SYN URGP=0

そこからソースアドレスを見ることができます。

パフォーマンスへの影響を防ぐために生成されるログ行数を制限し、必要に応じて調整できます。

おすすめ記事