
外部 Debian サーバーがあります。問題は、大学のキャンパスでは、ポートがTCPポート22、80、443、またはUDPポート123と異なる場合、外部への接続を許可しないことです。手動でテストしました。私のDebianサーバーからすべてのUDPとTCPポートをリッスンして、私たちの大学がファイアウォールを介して許可するTCPとUDPポートを明確に把握したいと思います。 Nmapはクライアント側でこれをテストするのに適していますが、サーバー側ではどうすればよいですか?
答え1
TCPダンプ通常、Linuxディストリビューションには標準で提供されています。サーバーに表示されるすべてのパケットを記録します。
ノイズを減らすために、クライアントのIPフィルタで実行するように設定できます。
これには、ローカルシステムのiptablesが許可しないパケットが含まれていると思います。ただし、これをテストしてみることもできます。
例えば
/usr/sbin/tcpdump -i eth0 -c 3000000 -np host client.example.com >tcp.log
次に、クライアントでnmapを実行します。
答え2
sudo iptables -t nat -p tcp -I PREROUTING -m multiport --dports 1:65535 -j DNAT --to-destination :5555
ncat -lkp 5555 -vvv
答え3
今はこれをテストする良い方法はありませんが...
iptables
各ポートを単一のポートに変換できると思います。次のようになります。
iptables -t nat -I PREROUTING -m multiport -sports 0:65535 -J DNAT --to-destination 127.0.0.1:1024
これにより、すべての着信ポートが1024にリダイレクトされます。その後、1024でサーバーを起動できます。
答え4
私の考えでは、UDPまたはTCPを使用して小さなプログラムを作成し、すべてのポートraw sockets
でリッスンし、ヘッダーをフィルタリングしてポートを知ることができます。