我正在使用此命令来调试我的 SIP 流量tcpdump -i eth0 -nt port 5060 -v
输出如下:
IP (tos 0x0, ttl 113, id 6082, offset 0, flags [none], proto UDP (17), length 504)
128.90.192.88.56177 > 172.31.78.225.5060: SIP, length: 476
REGISTER sip:54.84.215.2:5060 SIP/2.0
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=e5f4a9461830e4f7a15059
Via: SIP/2.0/UDP 10.2.38.49:56177;branch=A3DG5FK-d91443-95107561815059-1--d91443-;rport
Call-ID: e5f4a946183180e4f7a15059
CSeq: 1 REGISTER
Contact: <sip:[email protected]:56177>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: Samsung OfficeServ
Content-Length: 0
IP (tos 0x0, ttl 105, id 28245, offset 0, flags [none], proto UDP (17), length 500)
128.90.59.90.49529 > 172.31.78.225.5060: SIP, length: 472
REGISTER sip:54.84.215.2:5060 SIP/2.0
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=e5f4a933383e4f7a13062
Via: SIP/2.0/UDP 10.4.0.14:49529;branch=A3DG5FK-d91443-17576214913062-1--d91443-;rport
Call-ID: e5f4a93338364e4f7a13062
CSeq: 1 REGISTER
Contact: <sip:[email protected]:49529>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: Samsung OfficeServ
Content-Length: 0
... etc...
因为我的服务器已经运行了很长时间,所以很多机器人都发现了它,并且烦人地发送无效请求,如上所示。
我已经阻止了 IP 128.90.192.88
,128.90.59.90
并且 tcpdump 仍在捕获该流量。
root@ip-172-31-78-225:~# iptables -nL | grep 128.90.192.88
DROP all -- 128.90.192.88 0.0.0.0/0
我怎样才能过滤掉这些数据包?我的防火墙 (iptables) 阻止了 1000 多个 IP,并且我不想使用那么多 IP 构建过滤器。我知道我可以创建一个白名单,但我只是好奇是否有办法过滤掉这些数据包并了解它们为何被捕获。此外,我想继续使用这种方法来阻止发送无效请求的机器人。如果我只能分析未被阻止的数据包来决定是否阻止该 IP,那就太好了。
答案1
抱歉,这个问题可能与其他问题重复:https://stackoverflow.com/a/57073203/637142
无论如何,解决方案是:
#NFLOG traffic going to port 5060 (both tcp and udp)
iptables -A INPUT -p udp --dport 5060 -j NFLOG
iptables -A INPUT -p tcp --dport 5060 -j NFLOG
# now capure any trific from NFLOG
tcpdump -i nflog -nUlNt -v