如何使用espconn捕获HTTPS请求?

时间:2018-04-28 17:50:39

标签: c https dns esp8266 nodemcu

The following code允许捕获所有来自我的esp8266(运行NodeMCU)的请求并显示我自己的页面:

static int enduser_setup_dns_start(void)
{
  state->espconn_dns_udp = (struct espconn *) c_malloc(sizeof(struct espconn));
  esp_udp *esp_udp_data = (esp_udp *) c_malloc(sizeof(esp_udp));

  c_memset(state->espconn_dns_udp, 0, sizeof(struct espconn));
  c_memset(esp_udp_data, 0, sizeof(esp_udp));
  state->espconn_dns_udp->proto.udp = esp_udp_data;
  state->espconn_dns_udp->type = ESPCONN_UDP;
  state->espconn_dns_udp->state = ESPCONN_NONE;
  esp_udp_data->local_port = 53;


  return 0;
}

它会捕获http://example.com,但不会捕获http s :// example.com。我怎么能解决它?

1 个答案:

答案 0 :(得分:6)

除非您在每台客户端计算机上设置了证书颁发机构,否则无法拦截HTTPS请求(即使不是任何使用HSTS或HPKP的站点也是如此) -

SSL / HTTPS的完整点是客户知道他们正在与他们认为正在与之交谈的网站进行交谈。如果没有该网站的证书和私钥,您就无法在不产生错误的情况下冒充它。

Wifi强制门户(等)通常会忽略HTTPS请求,并等待第一个不安全的HTTP请求。连接到新的wifi网络时,大多数设备将尝试加载HTTP页面,如果他们发现强制门户创建通知/向用户显示