(tctx)
| 172 | |
| 173 | |
| 174 | def test_reverse_dns(tctx): |
| 175 | tctx.client.transport_protocol = "udp" |
| 176 | tctx.server.transport_protocol = "udp" |
| 177 | |
| 178 | f = Placeholder(dns.DNSFlow) |
| 179 | server = Placeholder(Server) |
| 180 | tctx.client.proxy_mode = ProxyMode.parse("reverse:dns://8.8.8.8:53") |
| 181 | tctx.options.connection_strategy = "lazy" |
| 182 | assert ( |
| 183 | Playbook(modes.ReverseProxy(tctx), hooks=False) |
| 184 | >> DataReceived(tctx.client, tflow.tdnsreq().packed) |
| 185 | << NextLayerHook(Placeholder(NextLayer)) |
| 186 | >> reply_next_layer(layers.DNSLayer) |
| 187 | << layers.dns.DnsRequestHook(f) |
| 188 | >> reply(None) |
| 189 | << OpenConnection(server) |
| 190 | >> reply(None) |
| 191 | << SendData(tctx.server, tflow.tdnsreq().packed) |
| 192 | ) |
| 193 | assert server().address == ("8.8.8.8", 53) |
| 194 | |
| 195 | |
| 196 | @pytest.mark.parametrize("keep_host_header", [True, False]) |
nothing calls this directly
no test coverage detected
searching dependent graphs…