怎么查看哪个ip在访问服务器,如何查看服务器被哪些IP访问

要查看哪些IP在访问服务器,核心方法是登录服务器执行ssnetstatlsof命令查看实时连接,并结合Web日志(如Nginx的access.log)分析历史访问记录。这套组合拳能帮你定位每一个来源IP,无论它是正常用户、爬虫还是攻击者,下面我直接给你能落地的操作路径。

用一行命令快速查看当前活跃连接IP

登录服务器后,最先要跑的命令是查看实时连接,多数Linux服务器默认自带ss工具,它比老款的netstat输出更快、信息更全,直接在终端敲:

ss -tunap

这个命令会列出所有TCP和UDP连接,你要重点关注ESTAB(已建立)状态的记录,每一条的0.0.1:54321这类左侧地址代表客户端来源IP和端口,右侧是服务器的监听地址和端口,实际排查时,输出结果可能包含几十行到上百行,别慌,用管道配合排序就能快速找出高频来源:

ss -tunap | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

这条组合命令会把所有连接的对端IP提取出来,统计每个IP的连接次数,按从大到小排列,前20个就是当前最活跃的访客,如果某个IP的连接数明显超出其他IP,比如它独占了几十个ESTAB连接,那它不是在做高并发采集,就是在尝试连接你的数据库端口。

连接数统计有个前提:如果你的服务器前面挂了CDN或者负载均衡,那ss看到的清一色是CDN节点的IP,真实的用户IP被伪装在HTTP头部的X-Forwarded-For字段里,这种情况下,你需要在Web应用层去取真实IP,光看系统层连接是不够的。

查历史访问记录:日志文件里有完整谱系

实时连接只能反映当前这一秒的情况,想弄清楚“昨晚凌晨三点哪个IP在扫描我”,就得翻日志。

Nginx日志的过滤技巧

默认的Nginx日志路径是/var/log/nginx/access.log,每一行记录一个请求,包含IP、时间、请求路径、状态码,直接用tail查看最后几十行,能对当前访问者有直观感受,但要分析流量来源,得结合awk来统计:

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -30

这会输出访问量最大的前30个IP,排在最前面的通常有两种情况:一种是搜索引擎的抓取爬虫,另一种是某个营销活动带来的真实访客,怎么区分?看User-Agent,日志里最后一列就是它,Googlebot的UA里必然带Googlebot字样,百度的带Baiduspider,如果是空UA或者随机UA且访问路径全是/wp-login.php.env这类敏感文件,那就是恶意扫描者。

Apache日志同样值得关注

如果你用的是Apache,日志默认在/var/log/httpd/access_log/var/log/apache2/access.log,字段格式和Nginx相近,第一条同样是客户端IP,统计逻辑和上面完全一样,多数情况下,你只要把路径换一下,

怎么查看哪个ip在访问服务器,如何查看服务器被哪些IP访问

awk命令可以直接复用。

按接入层拆解:区分直连服务器与CDN回源

很多网站已经接入了云盾、高防IP、CDN,在这种架构下,你查服务器本机的ss连接只能看到源站出口IP,真实访客的IP被层层转发链路给掩盖了,这会影响排查精度,需要分场景来看。

裸奔直连(无CDN),服务器直接暴露在公网,ss显示的就是访客真实公网IP,这种情况最好办,所有命令都能直接生效。

接入CDN但日志可记录真实IP,Nginx配合CDN回源后,如果你在Nginx配置里设置了set_real_ip_fromreal_ip_header,那么日志里的$remote_addr会直接显示访客真实IP,无需额外处理,这套配置在运维界属于标准做法,行业共识认为,凡是接CDN的源站都必须开启此功能,否则日志分析等于瞎了眼。

纯粹查看源站端口的连接,有时候你只想知道443端口上有多少IP在握手,不想看乱七八糟的UDP流量,对着443端口做过滤:

netstat -tn 43 | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq

注意,如果你的系统没有netstat,先安装net-tools包,或者直接换用ss -tn state established '( dport = :443 )',效果类似。

借助可视化工具监控IP流量趋势

手动敲命令适合临时排查,但如果你的服务器常年有人访问,建议部署一个监控面板。宝塔面板的“流量监控”模块就能按IP维度统计请求数、带宽占用,图形界面直接列出TOP 50的来源IP,适合不懂命令行的同学,它的原理和ss命令一致,但胜在持续记录、历史可回溯。

更专业的方案是Prometheus + node_exporter,node_exporter默认会暴露node_network_receive_bytes_total等指标,配合Grafana的仪表盘可以做出IP级别的流量排行,但说实话,对于大多数个人站长或中小团队,宝塔的IP统计功能已经够用了它能把昨天、上周、上个月的TOP IP排行全部拉出来,还能针对每个IP看它请求了哪些具体URL,这在排查“某个IP反复下载大文件”之类的问题时非常直观。

排查异常访问的命令排序与判断标准

当你发现服务器响应变慢、带宽被打满时,需要按照特定顺序排查,我先给你一个实操顺序表:

怎么查看哪个ip在访问服务器,如何查看服务器被哪些IP访问

排查步骤 命令或动作 预期结果
确认CPU/负载 top 排除系统自身问题,比如日志清理脚本卡死
查看TCP连接状态 ss -s 看SYN_RECV数量是否激增,判断是否有SYN洪水攻击
实时连接来源统计 ss -tunap | awk '{print $5}' | sort | uniq -c | sort -rn | head 找出占据绝大多数连接的IP
请求日志频率分析 tail -n 10000 access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -30 对比实时连接,验证攻击持久性
防火墙处置 firewall-cmd --add-rich-rule='rule family=ipv4 source address=1.2.3.4 drop' 封禁确认的恶意IP

这套顺序的核心逻辑是:先确认是系统故障还是流量攻击,然后从网络层找嫌疑IP,再从应用日志层验证行为,最后做动作。切忌一上来就在防火墙封IP,可能误伤正常访客或搜索引擎抓取,多数情况下,你是先看到某个IP在短时间内发起大量请求,然后去日志里核实它到底请求了什么URL,确认是暴力破解或爬虫后才动手封禁。

验证日志行为的黄金标准是看它访问的URL分布,正常访客的URL序列是杂乱的、跳转路径贴合页面链接;恶意爬虫则集中在某个目录或某个参数上,比如遍历?id=1?id=10000,如果同一个IP在日志里重复请求/admin/config.php.bak这种路径,那它就是在试探漏洞。

轻量级临时封禁与常规解封策略

处理确认恶意IP的方法很多,不必一上来就动用云服务商的黑洞封禁,Linux自带的firewalldiptables足够解决99%的问题:

# 临时封禁单个IP 10分钟(RHEL/CentOS系)
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.100 drop'
firewall-cmd --reload
# 解封时删除规则
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address=192.168.1.100 drop'
firewall-cmd --reload

Debian/Ubuntu系的ufw语法稍有不同:

ufw deny from 192.168.1.100
ufw delete deny from 192.168.1.100   # 解封

封禁是即时生效的,解封也同样是秒级,遇到那种扫端口的行为,可能几秒钟内就有上百个IP轮流转,手动封IP根本来不及,这时候你就要考虑在云服务商的控制台启用DDoS高防安全组黑白名单,行业共识认为,手工封禁适合少量IP的精准处置,大规模扫描必须靠硬件防火墙或云安全服务拦截。

安全组层面的限制同样有效,在云控制台里把安全组的入方向规则临时改成只允许你自己的IP访问SSH端口(TCP 22),其余全部拒绝,就能从网络入口拦截掉绝大多数扫描流量,这是最暴力的方式,但也是最可靠的方式,因为安全组生效在你的云主机之前,流量根本不会到达你的系统,你的服务器CPU瞬间就会安静下来。

封禁后如何确认IP确实已断连

执行封禁命令后,别急着关终端,再跑一次之前的统计命令:

ss -tunap | grep 192.168.1.100

怎么查看哪个ip在访问服务器,如何查看服务器被哪些IP访问

正常情况下输出为空,说明该IP的新建连接已经进不来,但旧连接可能还会存活一会儿,因为TCP连接有超时机制,等几十秒后再看,如果还有残留连接,可以手动kill掉对应的进程PID,或者直接重启Web服务的连接池,多数情况下,防火墙DROP规则会在新连接握手阶段直接丢弃SYN包,旧的ESTAB连接会在几分钟内自然断开。

如果你用的是宝塔面板,在面板“安全”菜单里添加IP规则后,同样可以回到“监控”页面看该IP的流量是否归零,这是最直观的验证手段流量图表直接变成一条直线。

Q&A:查服务器访问IP的常见疑问

怎么查看服务器连接ip命令Linux 和Windows的区别大吗?

Linux的查看命令集中在ssnetstatlsof这三个工具,而Windows Server通常用netstat -no或者PowerShell的Get-NetTCPConnection,Windows没有ss直接对应的命令,但netstat -no的输出格式和Linux很相似,可以看到对端IP和PID,区别主要在于管道和文本处理的语法不同,Windows需要配合findstr做过滤,比如netstat -no | findstr 443筛选端口。

服务器被大量IP访问导致卡顿,如何确定是正常流量还是攻击?

先用ss -s看系统整体连接状态,如果SYN_RECV数量异常大,说明有TCP泛洪攻击,接着用ss -tunap | awk命令统计IP连接排名,然后把排名前5的IP的请求数除以时间差得到请求速率,正常用户每秒很难超过5个请求,如果单个IP的请求速率达到每秒几十甚至上百,且UA字段缺失或拼接了脚本特征,基本可以判定为攻击行为,日志里的URL分布是决定性证据,攻击者往往集中在某个动态接口疯狂拉取数据。

nginx访问日志查看用户IP时发现全是CDN节点IP,怎么还原?

这是CDN架构下的典型问题,你需要先查看回源请求是否携带了X-Forwarded-For头信息,然后在Nginx的http块中增加配置:set_real_ip_from 你的CDN回源IP段; real_ip_header X-Forwarded-For;,配置完成后重载Nginx,日志里的$remote_addr字段就会传递真实用户IP,注意,set_real_ip_from必须精确填写你的CDN服务商回源网段,否则会误判所有来源IP,这里也可以用real_ip_recursive on;来处理多层代理的情况,如果你没有权限改Nginx配置,可以在应用层(比如PHP的$_SERVER['HTTP_X_FORWARDED_FOR'])读取这个头部字段,但可信度略低,因为HTTP头可以伪造。

最终你想排查的IP访问问题,本质上就两步:先看实时连接找准当前活跃者,再翻应用日志确认真实身份和具体行为,命令是工具,判断逻辑才是核心每个IP背后的访问路径都会在日志里留下痕迹,顺着痕迹分析,恶意攻击者与正常访客一眼可辨。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/696113.html

(0)
上一篇 2026年8月21日 00:57
下一篇 2026年8月21日 00:58

相关推荐

  • 主播老雷在哪个服务器

    主播老雷当前主要活跃在《魔兽世界》的‘燃烧之刃’服务器,这是他长期直播和游戏的核心阵地,老雷的服务器选择并非偶然,而是基于游戏体验、社区互动和内容创作的综合考量,燃烧之刃作为经典PVP服务器,既满足他的对抗性需求,也凭借高人口密度让直播更具观赏性,如果你在找老雷,直接锁定这个服务器就能开启跟踪之旅,老雷在哪个服……

    2026年8月19日
    0165
  • 开发手机app过程,开发手机app过程需要多少钱

    开发手机App并非简单的代码堆砌,而是涵盖需求分析、UI/UX设计、前后端开发、测试上线及后期运维的系统工程,成功关键在于明确商业模式、选择合适技术栈并严格遵循合规流程,在2026年的数字生态中,移动互联网已进入存量博弈阶段,用户获取成本(CAC)居高不下,这要求开发者在启动项目前必须拥有清晰的战略定位,许多初……

    2026年5月30日
    01295
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 澄迈小程序开发多少钱,澄迈小程序开发公司

    在澄迈开发小程序,2026年首选基于海南自贸港政策优势、采用SaaS标准化+低代码定制混合模式,综合成本控制在3000-15000元区间,以实现快速上线与合规运营的最佳平衡,澄迈作为海南自贸港的核心承载区之一,其数字经济基础设施已趋于成熟,对于本地企业而言,小程序不仅是流量入口,更是连接“数字海南”生态的关键节……

    2026年6月13日
    0743
  • 厦门开发网站公司哪家好?找专业网站开发公司多少钱

    在厦门寻找专业且高效的网站开发服务,核心结论在于:企业必须摒弃单纯追求“模板化”的低价策略,转而选择具备全栈技术能力、深度行业理解以及云端架构优化经验的合作伙伴,真正的优质开发服务,不仅仅是交付一套代码,而是构建一个安全、高速、可拓展且能直接驱动业务增长的数字化引擎,对于厦门这座数字经济活跃的城市而言,选择一家……

    2026年4月23日
    01924

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注