Окей, мои тесты для домена pbs.twimg.com
(картинки на твиттере?).
DNS подсовывает 2 айпишника, 151.101.84.159 и 192.229.233.50.
Просто -9 - оба домена курлятся.
Спойлер
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:192.229.233.50
* Added pbs.twimg.com:443:192.229.233.50 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
* Trying 192.229.233.50:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
* CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [88 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [341 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [155 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4875 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
* subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
* start date: Jul 8 00:00:00 2024 GMT
* expire date: Jul 7 23:59:59 2025 GMT
* subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
* SSL certificate verify ok.
* Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< accept-ranges: bytes
< age: 220
< cache-control: no-cache, no-store, max-age=0
< date: Sun, 15 Sep 2024 00:34:13 GMT
< last-modified: Sun, 15 Sep 2024 00:30:33 GMT
< perf: 7402827104
< server: ECS (ska/F705)
< server-timing: x-cache;desc= 400-HIT,x-tw-cdn;desc=VZ
< strict-transport-security: max-age=631138519
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< x-cache: 400-HIT
< x-connection-hash: 5b80e4acb6bcc52c14567b39dd0f43bed926ad3ff42252cd32dd5f6f52c2f0d7
< x-content-type-options: nosniff
< x-response-time: 103
< x-transaction-id: 3901a766fcc948bb
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:151.101.84.159
* Added pbs.twimg.com:443:151.101.84.159 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
* Trying 151.101.84.159:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
* CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [100 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [3055 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [300 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [37 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
* subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
* start date: Jun 24 00:00:00 2024 GMT
* expire date: Jul 25 23:59:59 2025 GMT
* subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
* SSL certificate verify ok.
* Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< perf: 7402827104
< cache-control: no-cache, no-store, max-age=0
< x-transaction-id: cce3ba376d4e162c
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< strict-transport-security: max-age=631138519
< accept-ranges: bytes
< x-content-type-options: nosniff
< date: Sun, 15 Sep 2024 00:34:15 GMT
< x-cache: MISS, MISS
< x-tw-cdn: FT
< x-served-by: cache-lhr-egll1980068-LHR, cache-bma1666-BMA, cache-tw-ZZZ1
< server-timing: x-cache;desc=MISS, x-tw-cdn;desc=FT
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact
-9 --fake-gen 5 - один курлится, другой нет. Пролема связана с tls 1.2?
Спойлер
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:151.101.84.159
* Added pbs.twimg.com:443:151.101.84.159 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
* Trying 151.101.84.159:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
* CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
* CApath: none
^C
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:192.229.233.50
* Added pbs.twimg.com:443:192.229.233.50 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
* Trying 192.229.233.50:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
* CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [88 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [341 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [155 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4875 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
* subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
* start date: Jul 8 00:00:00 2024 GMT
* expire date: Jul 7 23:59:59 2025 GMT
* subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
* SSL certificate verify ok.
* Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< accept-ranges: bytes
< age: 124
< cache-control: no-cache, no-store, max-age=0
< date: Sun, 15 Sep 2024 00:32:37 GMT
< last-modified: Sun, 15 Sep 2024 00:30:33 GMT
< perf: 7402827104
< server: ECS (ska/F705)
< server-timing: x-cache;desc= 400-HIT,x-tw-cdn;desc=VZ
< strict-transport-security: max-age=631138519
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< x-cache: 400-HIT
< x-connection-hash: 5b80e4acb6bcc52c14567b39dd0f43bed926ad3ff42252cd32dd5f6f52c2f0d7
< x-content-type-options: nosniff
< x-response-time: 103
< x-transaction-id: 3901a766fcc948bb
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact
Если подсунуть свой собственный фейк, то все работает (в т.ч. заблокированные ggc гуглвидео, т.к. брал от смежного домена). Тестил с пейлоадом от google earth, браузер лиса 130, квик и кибер выключены.
Спойлер
16030102930100028f030321379e6a640c0a8c2d079d9b7e0a4dcb3f484e05b88874405424107065be8921207bb250ba1e2a34c0edf4912caab401cc0b53a1a65ee65a9aee122292f7b53e5f0022130113031302c02bc02fcca9cca8c02cc030c00ac009c013c014009c009d002f00350100022400000015001300001065617274682e676f6f676c652e636f6d00170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000010000e000c02683208687474702f312e310005000501000000000022000a000804030503060302030033006b0069001d00206ca38c787a687fff8caf55f3e5c6c070a4d895cea3deb34eed93bd26ba5860350017004104fe86e390f8f303d79d1bb58d3b81bd09ee29f7ad3efa7604bfcc87ffdab29d2527e7fdbaf2c47821e43435851c437de6ea66e7cb0e5343375081072fc7f71352002b00050403040303000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001fe0d011900000100037f0020dab8fde49aad0c43473c588105e9ede434d4cc55df0d5309b2e6271db02e305f00ef83bcf7d0a8b5c7b3dbbd68bd450ff3de7f99807faa6c5d67d68ae10dd361d358385d6fdc4dba5aa5b55de185828c2e7bd53c99795289cddba4107f61a6dd24fdd94bae35908a0410734e0bb8ade5a96103696d200533290c33501e114206f323537c91f6e701f03b9487c28d33d89f82a3b2600963c6d6bd6e7e8cdc5d29d8add9b60097addedeaebfe35633d99205ef8b85293be99ffb7d75cb088012009aa51529d0c0cafb6ccfc5e4e84fb9c8581b75dce0465f2d4688a54ae2cc7146902cccd5d544e1afffcbb6748a168c7fc80364b4255c35843c22768e8f2b8dc75744b1b0f52a4682e5e537a2a9e82ee99a
-e2 --reverse-frag --wrong-seq
в итоге использую. С wrong-chksum ломаются многие сайты. С -e1 тоже.