私のiptables
継続的な成長..
これによりsudo iptables -L | wc -l
数字が表示され、後で実行すると数字が増えます。
2秒ごとに1ずつ増加するようです。
やり直してみましたが、何の変更もありませんでした...
オンライン中Ubuntu 16.04.6
編集#1
@Artemが言及した内容が好きです。
sudo iptables-save > /tmp/ipt.dump1
# Wait a few seconds
sudo iptables-save > /tmp/ipt.dump2
diff -u /tmp/ipt.dump1 /tmp/ipt.dump2
私は次のような結果を得ました。
--- /tmp/ipt.dump1 2020-07-20 17:39:27.443308154 +0900
+++ /tmp/ipt.dump2 2020-07-20 17:39:40.831173660 +0900
@@ -1,9 +1,9 @@
-# Generated by iptables-save v1.6.0 on Mon Jul 20 17:39:27 2020
+# Generated by iptables-save v1.6.0 on Mon Jul 20 17:39:40 2020
*nat
-:PREROUTING ACCEPT [545:78025]
-:INPUT ACCEPT [545:78025]
-:OUTPUT ACCEPT [2686:163879]
-:POSTROUTING ACCEPT [2686:163879]
+:PREROUTING ACCEPT [547:78264]
+:INPUT ACCEPT [547:78264]
+:OUTPUT ACCEPT [2726:166287]
+:POSTROUTING ACCEPT [2726:166287]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
@@ -12,12 +12,12 @@
-A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p tcp -m tcp --dport 8501 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
-# Completed on Mon Jul 20 17:39:27 2020
-# Generated by iptables-save v1.6.0 on Mon Jul 20 17:39:27 2020
+# Completed on Mon Jul 20 17:39:40 2020
+# Generated by iptables-save v1.6.0 on Mon Jul 20 17:39:40 2020
*filter
-:INPUT ACCEPT [11:1274]
+:INPUT ACCEPT [38:5571]
:FORWARD DROP [0:0]
-:OUTPUT ACCEPT [7:464]
+:OUTPUT ACCEPT [9:720]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
@@ -829,6 +829,14 @@
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
+-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
@@ -841,4 +849,4 @@
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
-# Completed on Mon Jul 20 17:39:27 2020
+# Completed on Mon Jul 20 17:39:40 2020
編集#2
フォローするこれ追跡プロセス:
git clone https://github.com/brendangregg/perf-tools.git
cd perf-tools
sudo ./execsnoop
その後、iptables関連のコンテンツのみを表示するようにフィルタリングしました。
sudo ./execsnoop | grep iptables
1.5秒ごとに2つの新しいプロセスが作成されます。
8596 8595 iptables -L INPUT
8599 8534 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
8705 8704 iptables -L INPUT
8708 8643 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
8814 8813 iptables -L INPUT
8817 8752 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
8923 8922 iptables -L INPUT
8926 8861 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9033 9032 iptables -L INPUT
9036 8971 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9142 9141 iptables -L INPUT
9145 9080 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9251 9250 iptables -L INPUT
9254 9189 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9360 9359 iptables -L INPUT
9363 9298 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9469 9468 iptables -L INPUT
9472 9407 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9578 9577 iptables -L INPUT
9581 9516 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
9687 9686 iptables -L INPUT
9690 9625 iptables -I INPUT -s 127.0.0.1 -j ACCEPT
しかし、根本的な原因を見つけるのには役に立ちません。
答え1
以下を行います。
sudo iptables-save > /tmp/ipt.dump1
数秒後
sudo iptables-save > /tmp/ipt.dump2
だから投稿してくださいdiff -u /tmp/ipt.dump1 /tmp/ipt.dump2
少なくともあなたはあなたが何を扱っているのかを知るでしょう。
最後の手段として以下を行います。
sudo mv /sbin/iptables /sbin/iptables.real
次に、次のようなbashスクリプトを作成します。
#! /bin/bash
echo "`date`: I was called by $PPID `readlink /proc/$PPID/exe` " >> /tmp/iptables.log
/sbin/iptables.real "$@"
これにより、どのプロセスが継続的に呼び出されるかを確認できますiptables
。
答え2
このawkスクリプトは、誰がiptablesを呼び出すのかを見つけるのに役立ちます。 execsnoop()の出力をプロセスツリーに統合しますpid ppid command ...
。親はインデントを行い、子の後ろに表示されます。申し訳ありません。もっと時間があれば、pstreeのように見えるようにすることができますが、おそらく効果があります。
数秒間execsnoopを実行し、出力をファイルに転送してから、そのファイルの入力を使用して実行します。
awk -v search=iptables '
$1 ~ /^[0-9]+$/ {
p = $1
ppid[p] = $2
# command is in $3..$NF, so we'll
# remove the first 2 fields, then store $0
for (i = 3; i <= NF; i++) {
$(i-2) = $i
}
NF -= 2
cmd[p] = $0
}
END {
for (p in cmd) {
if (cmd[p] ~ search) {
prefix = ""
do {
print prefix, p, cmd[p]
p = ppid[p]
prefix = prefix " "
} while (p)
}
}
}'
答え3
知っているとウイルスだった…
私は開いた別のスタック交換ポスト次のことについて。
この回答は私の具体的なケースへの回答なので受け入れます。しかし、根本的な原因を追跡するのに本当に便利なツールを提供するコメントやその他の答えを確認してください。