查询服务器有哪些访问,核心是先分清“当前连接”和“历史日志”:当前连接用 ss 或 netstat 看实时会话,历史访问看登录日志、Web 日志和云平台流日志,再按时间窗口和业务入口逐层收窄。
服务器不是黑盒,你感觉“有人访问”,通常有三种情况:用户正常访问网站、运维通过 SSH 登录、扫描器或攻击者在试探端口,三种情况留下的证据不一样,有人一上来就翻几个月前的日志,翻半天没结果;更稳的做法是先看现场,再看历史,最后用云平台日志补全网络层证据。
先分清两类访问:当前连接与历史访问
查当前谁连着服务器:ss、netstat 和 lsof 的实操
当前连接像“现场照片”,能告诉你此刻谁连着、连的哪个端口、对应哪个进程,Linux 上优先用 ss,它比 netstat 更轻量。
常用命令如下:
ss -tunap:查看 TCP/UDP 连接及对应进程,适合快速看 established 会话。ss -tlnp:只看监听端口,确认哪些服务对外开门。netstat -tunap:老系统常用,字段直观,但连接多时输出较慢。lsof -i :80:反查 80 端口被哪个进程占用,适合排查异常 Web 服务。- Windows PowerShell:
Get-NetTCPConnection | Where-Object {$_.State -eq "Established"},可看远程地址和进程 ID。
场景很具体:CPU 突然飙高,你先跑 ss -tunap,看有没有陌生 IP 长期占着 22、3306、6379 这类端口,如果看到大量 SYN_RECV,可能是扫描或 SYN Flood;如果看到 ESTABLISHED 且进程名陌生,先别急着重启,记录 PID、远端 IP 和端口,再决定封禁还是取证。
| 排查目标 | Linux 常用入口 | Windows 常用入口 | 能看到什么 | 局限 |
|---|---|---|---|---|
| 当前 TCP 连接 | ss -tunap |
Get-NetTCPConnection |
实时连接、端口、进程 | 看不到历史 |
| 监听端口 | ss -tlnp |
netstat -ano |
哪些服务对外开门 | 不说明访问是否恶意 |
| 登录记录 | last、lastb |
事件查看器 4624/4625 | 成功/失败登录 | 依赖日志开启 |
| Web 访问 | Nginx/Apache access.log | IIS 日志 | URL、IP、状态码、UA | 受 CDN 回源影响 |
| 云网络访问 | VPC 流日志、云防火墙日志 | 同左 | 五元组、放通/拒绝 | 需开通,可能产生费用 |
查历史访问:登录记录、系统日志、Web 日志
历史访问像“监控回放”,Linux 上先看登录:
last -a:查看成功登录历史,关注来源 IP 和登录时间。lastb:查看失败登录,扫描器爆破 SSH 时这里会很热闹。journalctl -u sshd --since today:按时间看 SSH 服务日志。grep "Failed password" /var/log/auth.log:Debian/Ubuntu 系查失败密码尝试;CentOS 系常见路径是/var/log/secure。
Windows 上打开“事件查看器 > Windows 日志 > 安全”,筛选事件 ID 4624(登录成功)和 4625(登录失败),如果远程桌面暴露公网,4625 短时间大量出现,基本能说明有人在试密码。
Web 访问则看应用日志,Nginx 常见 /var/log/nginx/access.log,Apache 常见 /var/log/httpd/access_log 或 /var/log/apache2/access.log,容器环境别只盯宿主机,docker logs --since 1h 容器名 也要看,日志轮转后的 .gz 文件同样要查,否则容易漏掉前几天的访问。
服务器访问日志怎么查询?先按业务类型选入口
Web 站点访问:Nginx 与 Apache 日志怎么查
Web 日志信息密度高,IP、时间、请求方法、URL、状态码、UA、Referer 都在一行里,先实时看:
tail -f /var/log/nginx/access.loggrep " 500 " /var/log/nginx/access.log | tail -50awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -20
第三条适合快速找访问量最大的来源 IP,想看请求路径排行,把 $1 换成 $7,要可视化,可以用 GoAccess:goaccess access.log --log-format=COMBINED,在终端里就能看状态码分布和热门 URL。
排查时别只看 IP,CDN 或反向代理后面,日志里的 IP 可能是回源 IP,此时要看 X-Forwarded-For 或 X-Real-IP,并在 Nginx 的 log_format 里把真实客户端 IP 记下来,否则你会把 CDN 节点当成攻击源。
Linux服务器查看访问来源IP命令:ss、last与Web日志
这条长尾词背后是同一个需求:我想知道访问从哪来,分三层看更准:
- 网络层:
ss -tunap看当前远端地址,ip route get 目标IP辅助判断路由。 - 登录层:
last -a和lastb看 SSH 来源,重点看陌生网段和非常用时间。 - 应用层:Web 日志按 IP 聚合,结合状态码和 UA 判断是正常用户、爬虫还是扫描器。
如果服务器前面有负载均衡或 NAT,来源 IP 可能被改写,这时要查负载均衡的访问日志,或者应用层透传的真实 IP 头,只盯主机日志,容易把“网关 IP”误判成攻击者。
数据库和远程登录访问:别漏了3306和6379
Web 日志只覆盖 HTTP,数据库和缓存被访问,主机层不一定有明显 Web 记录,MySQL 的 general log 默认不常开,排查前要确认是否开启;Redis 可以用 MONITOR 临时观察命令,但生产环境别长时间开着,开销不小,SSH、RDP、FTP 这类远程登录,重点看认证日志和防火墙拒绝日志。
一个实用顺序:先看安全组或防火墙有没有放行陌生网段,再看服务监听地址是不是 0.0.0,最后看认证日志有没有失败记录,很多入侵线索不是“访问成功”,而是“大量失败后突然成功”。
云服务器访问记录查询多少钱?免费入口与付费日志服务对比
云厂商自带监控、流日志和日志服务
云上排查访问,控制台比 SSH 更省事,常见入口包括云监控、VPC 流日志、云防火墙日志、日志服务(如 SLS、CLS、LTS),云监控一般能看连接数、入带宽、出带宽趋势,适合快速判断“有没有异常流量”;VPC 流日志能记录网络五元组和放通/拒绝动作,适合查扫描和异常外联;日志服务适合全量检索和长期留存。
费用上别只看单价,业内专家指出,云日志服务的费用大头通常不在采集,而在存储和检索,小规模站点按量开通,费用感受通常较低;如果把全量访问日志长期留存,成本会随存储量和查询量上升,具体价格以各云厂商官网计费页为准,开通前先确认日志存储周期和索引字段。
自建日志平台和云日志哪个划算
自建 ELK 或 Loki 加 Promtail,前期看起来“免费”,实际要算服务器、磁盘、维护人力,云日志开箱即用,检索和告警省心,但长期全量留存有持续费用,比较稳妥的做法是:热日志短期全量留存,冷日志归档压缩,核心字段建索引,非核心字段按需查。
| 方式 | 典型入口 | 能看到什么 | 费用感受 | 适合场景 |
|---|---|---|---|---|
| 云监控 | 控制台监控图表 | 连接数、带宽趋势 | 多数基础项免费 | 快速看异常 |
| VPC 流日志 | 网络日志控制台 | 五元组、放通/拒绝 | 按日志量计费 | 网络攻击排查 |
| 云日志服务 | SLS/CLS/LTS | 全量检索、告警 | 按存储和查询计费 | 生产排查与合规 |
| 自建 ELK/Loki | 主机自建 | 日志检索、看板 | 服务器和人力成本 | 有技术团队、数据敏感 |
北京服务器访问日志查询方法:地域合规与就近排查
本地机房与华北云节点的差异
北京本地机房和云上华北节点,排查路径不一样,本地机房通常要登录堡垒机或跳板机,先确认日志有没有集中收集;云上北京节点(如简米云华北2、酷番云北京、华为云华北-北京)优先看控制台的云监控、日志服务和云防火墙,路径大致是“云监控看趋势,日志服务做检索,安全组/防火墙看放通拒绝”。
合规上别马虎,据《网络安全法》要求,网络日志留存不少于六个月,行业共识认为,日志留存要兼顾安全审计、故障排查和成本控制,北京地区不少企业还要满足等保要求,日志权限要分离,查询行为本身也要留痕。
跨地域访问:CDN回源IP与真实客户端IP
北京用户访问慢,不一定是北京服务器的问题,先看 CDN 边缘日志,再看回源日志,回源日志里如果大量出现 CDN 节点 IP,要结合 X-Forwarded-For 还原真实客户端,排查跨地域访问时,时间窗口要对齐时区,别用本地时间直接套 UTC 日志。
如果只查主机上的 Nginx 日志,可能看到的是回源请求,不是终端用户请求,正确顺序是:CDN 访问日志 → 回源日志 → 源站 Nginx 日志 → 应用日志,每一层都对齐请求 ID 或时间戳,证据链才完整。
一套可复用的排查顺序:从现象到证据
五步法
- 定时间窗口和业务入口:是网站 443、SSH 22,还是数据库 3306。
- 查当前连接:
ss -tunap看实时会话,记录陌生 IP 和 PID。 - 查登录与系统日志:
last、lastb、journalctl,确认有没有异常登录。 - 查应用和 Web 日志:按 IP、URL、状态码聚合,找高频失败和异常路径。
- 补云平台证据:安全组拒绝记录、VPC 流日志、云防火墙日志,确认网络层是否放通。
常见坑
- 日志权限不够,普通用户读不了
/var/log/secure,别急着怀疑日志丢失。 - 时区不一致,Web 日志是 UTC,系统日志是本地时间,对不上时间窗口。
- 容器日志没挂载,宿主机日志里看不到应用访问。
- 只查当前文件,漏了
.gz轮转日志。 - 有 NAT 或代理时,把网关 IP 当成真实来源。
查询服务器有哪些访问:常见问题Q&A
没有root权限怎么查服务器访问?
先看自己能不能读应用日志和 ss 输出,普通用户通常能跑 ss -tunap 看部分连接,但进程信息可能受限;/proc/net/tcp 也能看连接表,只是可读性差,Web 日志如果给了读权限,可以直接 tail 和 grep,涉及认证日志和防火墙日志时,需要管理员授权,别绕过权限控制。
服务器被扫描了,怎么从访问记录里找来源?
先看防火墙或安全组的拒绝日志,再看 SSH 失败登录和 Web 日志里的 404/403 集中请求。lastb 和 grep "Failed password" 能快速定位爆破来源,确认来源后,优先在安全组或云防火墙封禁,再考虑主机防火墙,封禁前保留时间、源 IP、目标端口和命中规则,方便后续复盘。
查询服务器访问记录会涉及隐私合规吗?
会,访问日志包含 IP、URL、User-Agent 等信息,可能关联到个人信息,处理时应遵循最小必要原则,限定查询目的、访问权限和留存期限,对外提供日志前要做脱敏,内部查询要留操作记录,这类记录属于个人信息处理场景,应遵循最小必要和权限分离原则。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/784718.html


