面试碰到的问题,如何知道你的服务器在一段时间内和哪些IP进行过连接,连接是包括tcp、udp之类的通信? linxu应该不会记录传输层的连接日志信息吧?
首先承认开始回答这个问题的时候,都没搞清楚问题所在,查日志确实是一个不负责任的回答,这里更新一下自己对这个问题的理解
我的建议也是使用netstat命令,man一下netstat可以看到这个命令的作用:“netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships”
查看服务器和哪些IP进行过连接:
netstat -ant | grep 'ESTABLISHED' | awk -F " " '{print $5}' | awk -F ":" '{print $1}' | sort -n | uniq -c| sort -t " " -k 1 -nr
这样可以查找已经建立的tcp通信的,并且已经按链接的次数从大到小排序了
netstat -anu | awk -F " " '{print $5}' | awk -F ":" '{print $1}' | sort -n | uniq -c | sort -t " " -k 1 -nr
查看SYN攻击,将tcp的状态查找从ESTABLISHED替换成SYN即可
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。