LA_*_*LA_ 3 c dns https nodemcu esp8266
以下代码允许捕获所有来自我的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;
}
Run Code Online (Sandbox Code Playgroud)
它捕获http://example.com,但不捕获http s://example.com.我该怎么办呢?
除非您在每台客户端计算机上设置了证书颁发机构,否则无法拦截HTTPS请求(即使不是任何使用HSTS或HPKP的站点也不例外 - 这是很多)
在整点的SSL/HTTPS是,客户知道他们在谈论他们认为他们正在谈论的网站.如果没有该网站的证书和私钥,则无法在不产生错误的情况下模拟它.
Wifi强制门户(等)通常忽略HTTPS请求,并等待第一个不安全的HTTP请求.连接到新的wifi网络时,大多数设备将尝试加载HTTP页面,如果他们发现强制门户创建通知/向用户显示