さまざまな種類のICMPを取得する方法

さまざまな種類のICMPを取得する方法

私は多くの時間を費やすことがあります。私はLinuxについて知りませんが、基本的な管理はできます。

ミッションは、さまざまな種類のICMPパケットを収集することです。 tcpdump(私の好みの方法)やWiresharkを通して収集することができます。

ping を使用してエコー応答とエコー要求の ICMP タイプを取得し、Tracepath または Traceroute を使用してタイムアウトを取得できます。今私が得たいのは、アクセス権やタイムスタンプなどがないということです。 2種もっと必要なのに製作方法がわかりません。

存在しないホストまたは間違ったポートに対してpingを試み、同じ方法でトレースパスを試しましたが、結果は得られませんでした。

誰もが私が使用できるコマンドと他の2種類のICMPパケットを取得する方法を提案したり教えたりできますか?

答え1

iptables ... -j REJECT別のターゲットホストに修飾子を使用して、一部のICMP到達不能なバリアントを作成できます。 (または仮想マシン。)可能な修飾子はicmp-net-unreachable、、、、、、、、、およびです。icmp-host-unreachableicmp-port-unreachableicmp-proto-unreachableicmp-net-prohibitedicmp-host-prohibitedicmp-admin-prohibitedtcp-reset

たとえば、

iptables -j REJECT --reject-with icmp-admin-prohibited

答え2

icmpush必要なことを行います。

からman icmpush

icmpushは、コマンドラインから完全にカスタマイズされたICMPパケットを作成するためのツールです。

リダイレクト、ソース抑制、タイムアウト、ターゲットに到達できない、パラメータの問題など、ICMPエラータイプをサポートします。

ICMPメッセージタイプには、アドレスマスク要求、タイムスタンプ、情報要求、エコー要求、ルーター要求、ルーター広告などがあります。

icmpushGPLv2 ライセンスがあり、Debian (およびおそらく他のほとんどのディストリビューション) 用にパッケージ化されており、ソースコードは以下で利用できます。http://www.securityfocus.com/data/tools/icmpush22.tar.gz

関連情報