Linux中是否有任何日誌可以告訴您是否某個埠已被拒絕
假設我啟動了防火牆或任何其他安全性,如 SE linux 等。
現在假設使用者想要連接到埠
21
並且 Iptables 不允許它。現在,當使用者被拒絕時,該消息會記錄在任何位置,以便我可以看到所使用的特定埠被阻止或特定埠被阻止的原因。
而不是探勘每一個設置來找出為什麼我沒有通過它。
我已將預設 ssh 埠更改為,
8022
但連接被拒絕。我已經檢查了 telnet 及其在該埠上的偵聽。我有空的 iptables。
是否有任何日誌可以檢查誰拒絕連接
第一個答案
沒有。預設沒有日誌,顯示這個,但是
顯示目前防火牆配置
看看你的防火牆是如何配置的:
iptables -L
先找
Chain [INPUT|OUTPUT] policy
。如果有任何其他的東西ACCEPT
,使用過的埠可能必須明確地ACCEPT
起泡……iptables -L INPUT | grep `port=2[01]`
要顯示有關埠 20 和埠 21 的明確規則,但請注意,您可能必須閱讀整個防火牆配置,檢查有關
multiport
、user-defined chains
等。如果您根本不知道,這可能會變得困難iptables
。一個空的打開的防火牆配置可能如下所示:
iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
看:
man iptables
知道什麼可能會阻止您的規則中的某些內容
我使用這個技巧:
touch /tmp/tmp_iptable_stat.txt getChanges() { pushd /tmp >/dev/null for table in $(</proc/self/net/ip_tables_names);do echo $RANDOM: - $table iptables -t $table -nvxL --line-number done | diff -u tmp_iptable_stat.txt - | tee >(patch -p0) | sed ' s/^+[0-9]*: - /TABLE /p; s/^+//p; d' popd >/dev/null }
比第一次呼叫
getChanges
將轉儲所有表和計數器。隨後對同一函式的呼叫將僅列印修改計數器的規則。這可以幫助找出哪個規則阻止了某些東西。顯示目前網路堆棧狀態:
核心網路堆棧可以由
netstat -tan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 2364 192.168.1.1:21 192.168.1.35:49179 ESTABLISHED
對於 TCP 套接字或
netstat -uan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State
用於 UDP 套接字。
由於我的FTP伺服器使用TCP套接字,我可以看到目前在我的伺服器和主機之間建立了一個交換**…35,(伺服器目前有 2364 個數據包要發送給客戶端。可能是一個文件,也可能是一個列表…)
跟踪特定介面上的流量
而不是使用
log
,您可以觀看界面上發生的事情:tcpdump -i ethX
這將轉儲有關流量的有用資訊
ethX
,但預設情況下,為了更易於閱讀,此工具將嘗試解析每個 IP 的名稱。因此,事件本身與終端上的轉儲之間可能存在一些延遲。所以:tcpdump -ani ethX
不會嘗試解析 (opt
-n
) IP 和服務名稱,並且會顯示所有 (-a
) 數據包通過介面。更精細:
tcpdump -ani ethX port 21 or port 20 09:17:58.264453 IP 192.168.1.1.21 > 192.168.24.91.45951: Flags [S.], seq 3593971599, ack 1942867644, win 5792, options [mss 1460,sackOK,TS val 1168768120 ecr 62841986,nop,wscale 7], length 0 09:17:58.299693 IP 192.168.1.35.56485 > 192.168.1.1.21: Flags [S], seq 3334605998, win 5840, options [mss 1368,sackOK,TS val 1936641509 ecr 0,nop,wscale 7], length 0 09:17:58.299728 IP 192.168.1.1.21 > 192.168.1.35.56485: Flags [S.], seq 980554936, ack 3334605999, win 5792, options [mss 1460,sackOK,TS val 1168768129 ecr 1936641509,nop,wscale 7], length 0 ...
更詳細:
... use -v or -vv for full protocol decode
tcpdump -anvvi ethX port 21 or port 20 tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes 09:22:40.047486 IP (tos 0x0, ttl 62, id 31488, offset 0, flags [DF], proto TCP (6), length 60) 192.168.24.91.46011 > 192.168.1.1.21: Flags [S], cksum 0x5985 (correct), seq 3989081263, win 14600, options [mss 1368,sackOK,TS val 62912431 ecr 0,nop,wscale 6], length 0 09:22:40.047525 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60) 192.168.1.1.21 > 192.168.24.91.46011: Flags [S.], cksum 0x926d (correct), seq 2283473829, ack 3989081264, win 5792, options [mss 1460,sackOK,TS val 1168838566 ecr 62912431,nop,wscale 7], length 0 09:22:40.817248 IP (tos 0x0, ttl 62, id 31489, offset 0, flags [DF], proto TCP (6), length 52) 192.168.24.91.46011 > 192.168.1.1.21: Flags [.], cksum 0xd6e9 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 62912442 ecr 1168838566], length 0 09:22:40.817567 IP (tos 0x0, ttl 62, id 31490, offset 0, flags [DF], proto TCP (6), length 52) 192.168.24.91.46011 > 192.168.1.1.21: Flags [F.], cksum 0xd6e3 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 62912447 ecr 1168838566], length 0 ...
您可以在哪裡跟踪每個操作。