首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑名单空用户代理sip tcpdump

黑名单空用户代理sip tcpdump
EN

Server Fault用户
提问于 2018-05-18 14:12:25
回答 1查看 963关注 0票数 1

我用tcpdump扫描攻击我手机服务器的用户代理。

我得到了有趣的结果。我把它们添加到保护我很多服务器的列表中。

这个很好用。问题是我得到的是空白或空的用户代理。我该怎么阻止呢?

这是我的tcpdump扫描和空白用户代理的结果。

代码语言:javascript
复制
tcpdump -i eth0 port sip -l -A | egrep -i 'User-Agent'
Fri May 18 09:37:50 EDT 2018
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on venet0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
User-Agent: friendly-scanner
User-Agent: UK Dialer
User-Agent: UK Dialer
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: Asterisk PBX 1.6.5
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent: friendly-scanner
User-Agent:
User-Agent:
User-Agent:
User-Agent:
User-Agent: friendly-scanner
User-Agent: friendly-scanner

这里是我用来阻止

代码语言:javascript
复制
iptables INPUT -p udp -m udp --dport 5060 -m string --string "friendly-scanner" --algo bm --to 65535 -j DROP
EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-05-18 23:32:29

您可以使用更长的匹配,包括记录分隔符,以及对不可打印的使用十六进制。这样,你的规则就可以变成:

代码语言:javascript
复制
iptables -A INPUT -p udp -m udp --dport 5060 -m string --icase --hex-string '|a|User-Agent: |0d0a|' --algo bm --to 65535 -j DROP

它将返回(使用iptables-save)作为:

代码语言:javascript
复制
iptables -A INPUT -p udp -m udp --dport 5060 -m string --icase --hex-string '|0a557365722d4167656e743a200d0a|' --algo bm --to 65535 -j DROP

现在您应该知道SIP报头字段格式中的空格语法了。由于没有regex匹配,所以几乎有无限的可能性(即使只有一种是被鼓励的),所以您应该定期使用Wireshark而不是tcpdump检查您的“垃圾邮件”,以获得确切的内容。这是来自Wireshark的样本捕获示例SIP调用捕获。

标头也是不区分大小写的,但是对于经过测试的,--icase确实可以处理--hex-string的内容,因此它也会匹配USER-AGENT:

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/912824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档