Force CURL to place request to a specific IP



Published: 2019-04-01 14:02:05 +0000
Categories: BASH,

Language

BASH

Description

Back when everything was plain HTTP, to place a request via a specific machine you'd just pass curl that machine in the URL and then set a Host header for whatever domain you wanted that machine to try and serve. With HTTPs, though, you may need the SNI name to also be correct (not just to avoid certificate errors, but because the server may change behaviour based on the SNI name)

This snippet details how to force curl to resolve a domain+port pair to a specific IP

Snippet

curl -v https://[Domain Name]/ --resolve [Domain Name]:[Port]:[IP]

Usage Example

# Connect to 127.0.0.1 using SNI name www.example.com and place a request for the root domain of www.example.com
curl -v https://www.example.com/ --resolve www.example.com:443:127.0.0.1

Keywords

curl, SNI, resolve,

Latest Posts


Copyright © 2022 Ben Tasker | Sitemap | Privacy Policy
Available at snippets.bentasker.co.uk, http://phecoopwm6x7azx26ctuqcp6673bbqkrqfeoiz2wwk36sady5tqbdpqd.onion and http://snippets.bentasker.i2p
hit counter