You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Osquery获取连接GCP虚拟机/Web应用的IP?含HTTP包排查

用Osquery查询Web应用的连接IP(HTTP/HTTPS)

作为Osquery新手,你可以通过内置的系统状态表来获取连接到Web应用的IP,以下是实用的查询语句和说明:

1. 查询当前活跃的HTTP/HTTPS连接

执行以下SQL查询,可直接获取当前正在连接到80/443端口的外部IP,以及对应的Web应用进程信息:

SELECT remote_address, remote_port, local_port, process.name, process.pid
FROM tcp_connections
JOIN processes AS process ON tcp_connections.pid = process.pid
WHERE local_port IN (80, 443) AND remote_address != '';
  • tcp_connections:存储系统所有活跃TCP连接的核心表,remote_address字段即为外部连接IP
  • 关联processes表可以确认连接对应的Web应用进程(比如nginx、apache或你的自定义Web服务)
  • 过滤local_port为80(HTTP)或443(HTTPS),排除空的remote_address(避免本地回环连接)

2. 监控新增的HTTP/HTTPS连接事件

如果需要实时监控新建立的连接,可使用Osquery的事件订阅功能,执行以下查询(需开启事件支持):

SELECT action, remote_address, remote_port, local_port, process.name, process.pid
FROM socket_events
JOIN processes AS process ON socket_events.pid = process.pid
WHERE local_port IN (80, 443) AND remote_address != '' AND action = 'connect';
  • socket_events表监控套接字的创建、连接等事件,action = 'connect'筛选新建立的连接
  • 运行该查询时,需要在启动Osquery时添加--enable_events参数(比如osqueryi --enable_events),或在Osquery配置文件中启用事件订阅

注意事项

  • Osquery是系统状态查询工具,不直接解析HTTP数据包内容,如果需要查看具体HTTP请求内容,需配合tcpdump等抓包工具使用
  • 部分AI工具可能会虚构Osquery不存在的表(比如http_requests),Osquery官方内置表可通过SELECT name FROM osquery_tables;查询确认

内容的提问来源于stack exchange,提问作者Andrea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 08:18:12