web-dev-qa-db-ja.com

Nmap "操作は許可されていません"エラー

OpenVZコンテナでCentOS5.3を実行していますが、Nmapから「操作が許可されていません」というエラーが表示されます。

[root@test nmap-5.21]# ./nmap scanme.nmap.org

Starting Nmap 5.21 ( http://nmap.org )
at 2010-12-12 17:03 MSK

Warning: File ./nmap-services exists,
but Nmap is using
/usr/local/share/nmap/nmap-services
for security and consistency reasons. 
set NMAPDIR=. to give priority to
files in your local directory (may
affect the other data files too).

sendto in send_ip_packet: sendto(4,
packet, 28, 0, 64.13.134.52, 16) =>
Operation not permitted

Offending packet: ICMP 127.0.0.1 >
64.13.134.52 echo request (type=8/code=0) ttl=46 id=49000
iplen=28 sendto in send_ip_packet:
sendto(4, packet, 40, 0, 64.13.134.52,
16) => Operation not permitted


Offending packet: ICMP 127.0.0.1 >
64.13.134.52 Timestamp request (type=13/code=0) ttl=49 id=23010
iplen=40

sendto in send_ip_packet: sendto(4,
packet, 40, 0, 64.13.134.52, 16) =>
Operation not permitted

Offending packet: ICMP 127.0.0.1 >
64.13.134.52 Timestamp request (type=13/code=0) ttl=56 id=36657
iplen=40

sendto in send_ip_packet: sendto(4,
packet, 28, 0, 64.13.134.52, 16) =>
Operation not permitted

Offending packet: ICMP 127.0.0.1 >
64.13.134.52 echo request (type=8/code=0) ttl=51 id=43181
iplen=28

Note: Host seems down. If it is really
up, but blocking our ping probes, try
-PN Nmap done: 1 IP address (0 hosts up) scanned in 3.15 seconds

Iptablesルールが設定されていません。

どうすればこれを機能させることができますか?

5
a--

たぶんあなたのコンテナはvenetインターフェースを持っていて、それはセキュリティ制限があります。ブロードキャストやその他の非標準パケットを送信するには、vethインターフェイスを使用する必要があります。 venetとvethの違い を参照してください。

2
Sergey Vlasov

私はこの質問が古いことを知っていますが、Debian8とCentOS7でこの問題に遭遇し、答えを見つけることができませんでした(これは上位の検索結果です)。 TCPとセグメンテーションのオフロードが問題になっているようです。「ethtool」をインストールして実行すると、無効にできます。

ethtool -K  eth0  rx off  tx off gso off tso off

このコマンドで変更されたオプションを確認する価値があるかもしれません。

ethtool --show-offload  eth0

そこに表示される機能は、頭字語として指定することで有効/無効にできます(例: "generic-segmentation-offload" = "gso")。これらは理由でオンになっているので、 それらが何をするかを読んでください。

そしてここに CentOS固有の再起動-永続的な答え があります。

編集:無効で不正な形式のパケット保護がカーネルに組み込まれているため、Nmap =楽しいテクニックを使用してスキャンします:

iptables -I OUTPUT -m state --state INVALID -j ACCEPT

1
swashy