私は多くの時間を費やすことがあります。私はLinuxについて知りませんが、基本的な管理はできます。
ミッションは、さまざまな種類のICMPパケットを収集することです。 tcpdump(私の好みの方法)やWiresharkを通して収集することができます。
ping を使用してエコー応答とエコー要求の ICMP タイプを取得し、Tracepath または Traceroute を使用してタイムアウトを取得できます。今私が得たいのは、アクセス権やタイムスタンプなどがないということです。 2種もっと必要なのに製作方法がわかりません。
存在しないホストまたは間違ったポートに対してpingを試み、同じ方法でトレースパスを試しましたが、結果は得られませんでした。
誰もが私が使用できるコマンドと他の2種類のICMPパケットを取得する方法を提案したり教えたりできますか?
答え1
iptables ... -j REJECT
別のターゲットホストに修飾子を使用して、一部のICMP到達不能なバリアントを作成できます。 (または仮想マシン。)可能な修飾子はicmp-net-unreachable
、、、、、、、、、およびです。icmp-host-unreachable
icmp-port-unreachable
icmp-proto-unreachable
icmp-net-prohibited
icmp-host-prohibited
icmp-admin-prohibited
tcp-reset
たとえば、
iptables -j REJECT --reject-with icmp-admin-prohibited
答え2
icmpush
必要なことを行います。
からman icmpush
:
icmpushは、コマンドラインから完全にカスタマイズされたICMPパケットを作成するためのツールです。
リダイレクト、ソース抑制、タイムアウト、ターゲットに到達できない、パラメータの問題など、ICMPエラータイプをサポートします。
ICMPメッセージタイプには、アドレスマスク要求、タイムスタンプ、情報要求、エコー要求、ルーター要求、ルーター広告などがあります。
icmpush
GPLv2 ライセンスがあり、Debian (およびおそらく他のほとんどのディストリビューション) 用にパッケージ化されており、ソースコードは以下で利用できます。http://www.securityfocus.com/data/tools/icmpush22.tar.gz