HoneyLabs

The HTTP clients at the sensors, by request shape

An Akin token is read, not looked up: its middle section lists which of 32 headers the client sent, so two tokens compare by counting the headers they differ by. Paste one from your own logs below. The shapes seen from the most addresses sit one header from each other, and the families are the tools behind several shapes at once.

596 fingerprints, 86 families, 63.4K source addresses, 4.5M requests, last 30 days

How it works and what it found, Library, CLI and spec and the API

Read a token

Paste two tokens separated by a space to see how many headers apart they are and which ones. Hover a cell for its header.

The most common shapes are one header from each other

Start from the shape seen from the most addresses in 30 days, then step to the largest shape exactly one header away, 5 times. The header that changes at each step is named; in the strips, the added header is the ink cell, a dropped one is outlined.

Families: one tool, several request shapes

A family is a shape plus every shape within one header of it that came from the same source addresses. In each row the strip is the token's header map; a dark cell is a header the family head does not send, an outlined cell one it does send and this shape dropped.

b11cuq050_00050812_107c8b82129 addresses, 3.4K requests, 22 shapes

HTTP/1.1, 5 headers, Content-Length body: accept-encoding, user-agent, content-length, content-type, host

asks for/, /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php, /lib/terminal-xhr.php, /icecoder/lib/terminal-xhr.php (POST / GET)
asMozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/), Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko), Go-http-client/1.1 and 996 more
ports5101, 443, 21, 8545
fromUS, DE, NL, JP, Psychz Networks, Google LLC, FranTech Solutions
b11cuq050_00050812_107c8b82the family head, Censys129 addr, 2.0K reqb11cuq082_00050816_8184102b_xd0f1e7f3+/- accept, next-action, x-middleware-subrequest, browser54 addr, 631 reqb11cuq104_00050816_8fb55415_x038e0ee6d0f1e7f3+/- accept, 0ee6, next-action, next-router-state-tree, x-middleware-subrequest, WebKit42 addr, 257 reqb11cuq060_00850812_0421ce22+/- soapaction, WebKit8 addr, 42 reqb11cuq061_00050812_0421ce22_x48ab+/- spring.cloud.function.routing-expression, WebKit7 addr, 14 reqand 17 more shapes on the head token's page
b11cuq060_00050816_84d4cebf281 addresses, 972 requests, 18 shapes

HTTP/1.1, 6 headers, Content-Length body: accept-encoding, accept, user-agent, content-length, content-type, host

asks for/ipp, /psp/CCHIPRD_2/?cmd=login&languageCd=ENG, /boardDataWW.php, /psp/heprod_5/?cmd=login&languageCd=ENG (POST / PATCH)
asMozilla/5.0 zgrab/0.x, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, lik, Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/) and 427 more
ports5101, 631, 21, 2375
fromUS, NL, DE, CA, Censys, Inc., Psychz Networks, FranTech Solutions
b11cuq060_00050816_84d4cebfthe family head, zgrab281 addr, 449 reqb11cuk105_00050016_5ccac048_x038e8e84d668e7f3ed80+/- content-length, next-action, next-router-state-tree, transfer-encoding, x-nextjs-html-request-id, x-nextjs-request-id, Firefox18 addr, 23 reqb11cuq060_00050816_5ad15e38same headers, other value grammar or casing, browser6 addr, 27 reqb11cuq070_0005081e_c0f7322a+/- accept-language, Firefox3 addr, 349 reqb11cuq060_00050816_8092f713same headers, other value grammar or casing, Firefox3 addr, 11 reqand 13 more shapes on the head token's page
b11cun020_00040001_78f1f19c151 addresses, 12.0K requests, 12 shapes

HTTP/1.1, 2 headers, no body: connection, host

asks for/, /abc6, /abc8, /abc7 (GET / CONNECT)
ports443, 8443, 9443, 1337
fromBG, US, GB, AE, Techoff Srv Limited, BL Networks, Pfcloud UG (haftungsbeschrankt)
b11cun020_00040001_78f1f19cthe family head151 addr, 10.9K reqb11cun063_40040001_ffe60107_x9f62a4acfdb1+/- upgrade, sec-websocket-key, sec-websocket-protocol, sec-websocket-version18 addr, 251 reqb11cuq030_00040801_213543bf+/- content-length3 addr, 17 reqb11cun021_00040000_724c10fb_x641c+/- connection, 641c2 addr, 136 reqb11cun021_00040000_724c10fb_x7f35+/- connection, 7f352 addr, 136 reqand 7 more shapes on the head token's page
b11cuq070_00050817_81cd6514282 addresses, 1.9K requests, 10 shapes

HTTP/1.1, 7 headers, Content-Length body: connection, accept-encoding, accept, user-agent, content-length, content-type, host

asks for/, /spip.php, /wsman, /login (POST / PUT)
asMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, lik, Python WinRM client, Mozilla/5.0 (X11; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0 and 66 more
ports5985, 54321, 80, 443
fromSG, US, CN, IN, DigitalOcean, LLC, Microsoft Corporation, CariNet, Inc.
b11cuq070_00050817_81cd6514the family head, WebKit282 addr, 1.8K reqb11cuq081_00050817_cb8d62e5_x1af4+/- 1af4, requests7 addr, 12 reqb11cdq080_00050817_312cd899same headers, other value grammar or casing, WebKit2 addr, 22 reqb11cuq060_00050816_937417e1+/- connection, browser2 addr, 9 reqb11cuq080_00050c17_12e4ce34+/- referer, WebKit2 addr, 8 reqand 5 more shapes on the head token's page
82 more families with two or more shapes
head tokenseen asshapesaddressesrequests
b11cun080_0005041f_fb294466WebKit975.3K
b11cuq060_00050813_95cc9d02browser8656.0K
b11cun040_00040016_4110f156aiohttp6278175.4K
b11cun030_00040012_f6d8d797WebKit6602.4K
b11cun050_00040017_e873236cApcosysBot59654.6K
b11cun050_00040017_6b90553bWebKit58879.8K
b11cuq136_80050813_f44850b6_x379753ab95539f8fdafedf99DuckAssistBo596672
b11cun050_0004001e_00ecc3a8WebKit5469.4K
b11cun030_00040011_c91eaf54Go491837.4K
b11cun062_40040011_ffe60107_x9f62fdb1rawgrab41061.1K
b11cuq040_00040812_cfad16f7urllib438206
b11cun060_0014001d_efa3d503WebKit424440
b11cun050_00040413_2619b3acWebKit418786
b11cun060_0004001f_eefe5210Firefox41715.5K
b11cun040_00040016_1d05953dCryptoHunter411911
b11cuq070_00050817_ae8383ebbsc-node-rad48184
b11cun061_00040017_c5b51fcd_xff63WebKit4521.7K
b11cun040_00040015_4c87b06eCryptoHunter343989.3K
b11cun148_80040017_b6ce16b9_x379753ab95539f8fce00d0f1dafedf99browser328917.7K
b11cuq030_00050800_e62b6d85no UA3200252
b11cuq090_0055081d_9bbac077WebKit324139
b11cuq060_00050815_30319a11CryptoHunter3953
b11cun060_0004003d_f55b17efbrowser361.4M
b11cun070_0014001f_85240426KrebsOnSecur36100
b11cuq111_10050c1f_1bc79d45_xff63Firefox3335
b11cuq080_10050c13_37cee2c0Firefox32183
b11cun150_0004f3ff_28f866c0Chrome23.7K7.8K
b11cun120_000c03ff_bacda3cdFirefox21.9K3.9K
b11cun050_00040017_976354f0WebKit21.3K28.7K
b11cun060_0004001f_561f323aWebKit24176.5K
b11cun060_0006001d_3af976daChrome222311.2K
b11cun050_00060013_3ef9a8f6Chrome21443.1K
b11cun040_00040016_c1d30083WebSiphon212246.6K
b11cun020_00040002_5ff1c0a9no UA21171.7K
b11cun050_00040017_97f1d74fChrome21031.9K
b11cun040_00040016_50f90888WebKit282577
b11cuq040_00050801_2daa70d6no UA281199
b11cun080_0005005f_384a0c90httpx2509.6K
b11cun116_80040013_c23366f5_x379753ab95539f8fdafedf99Palo Alto247529
b11cun031_00040010_e62b6d85_x518bbrowser2401.3K
b11cun040_00040013_ab9bb075WebKit240796
b11cun050_00040017_7e326327zenox-opendi228436
b11cun040_0004001c_cdac4f66WebKit222100
b11cun040_00140011_5aed6deabrowser22155
b11cun030_00040011_213543bfFirefox219395
b11cuq050_00040813_2619b3acWebKit219332
b11cun061_0004001e_847378c2_xdb05WebKit21737
b11cun103_50340011_f5d02f95_x9f62a4acfdb1WebKit2161.5K
b11cun030_00040012_f983b7cebrowser2157.8K
b11cun090_000401fe_0bd93f5dFirefox21427
b11cuq070_00050817_9c017ed9httpx214605
b11cun050_00050013_2619b3acbrowser212357
b11cun126_80040017_97192874_x379753ab95539f8fdafedf99WebKit212127
b11cun040_08040011_2daa70d6Chrome211139
b11cun050_0044001c_d97268c3WebKit211372
b11cun130_000473f7_ae219191Chrome21119
b10cun010_00000004_a37af9cbno UA2101.5K
b11cun040_00040016_f36dd82eChrome2107.7K
b11cun072_00040017_81cd6514_x8e84e7f3WebKit2103.3K
b11cuq060_00850812_1a0049ffbrowser210660
b11cun060_00040037_28779db2Chrome2983
b11cun121_800405fe_e6286e74_x7092WebKit2918
b11cun050_0004001e_0c87f8d1Firefox28688
b11cun040_00040016_5d5a81dfbrowser27160
b11cun050_08040013_2619b3acFirefox27635
b11cuq050_00050811_9b8c433aGo27146
b11cun050_00040017_4032849cWebKit2574
b11cun084_40040011_966c00f7_x12be9f62a4acfdb1CryptoHunter25275
b11cun040_08040012_cfad16f7Chrome24158
b11cun160_003477fe_6d1ef716WebKit244.5K
b11cun199_80040017_dffd43a6_x0e61379753ab60b66a268e1291de95539f8fWebKit2460
b11cun040_00040016_28a5ad78FiveM-Public2352
b11cun040_00040016_fb523147WebKit2342
b11cun050_00040017_27ddf488browser2378
b11cuq150_000d7dde_12a3c497WebKit2324
b11cun020_10040000_724c10fbno UA2234
b11cun061_00040017_e1dbd7f1_x4ce9ES-ExposureM2222
b11cun082_04040017_735c1356_x117b3539AnyConnect224
b11cuq060_10040c12_0421ce22Firefox229
b11cuq070_08050c12_b8f6b5c2WebKit2216
b11cuq122_0005781e_0a1723a0_xd0f1e7f3WebKit2236
b11cuq226_800d79df_73f37caf_x379753ab95539f8fdafedf99WebKit2214

Shapes that stay constant while everything else rotates

Many user agents, one shape

The string changes; the request shape does not.

tokenseen asuser agentsaddresses
b11cun050_0004003c_a47bb3dcbrowser, /site.zip4,6316
b11cun060_0004003d_f55b17efbrowser, /?phpinfo=-14,6046
b11cun060_0004003d_8084a027Chrome, /_static/.env4,5486
b11cun040_00040013_608dab68Censys, /favicon.ico2,3644.5K
b11cun050_00040017_976354f0WebKit, /favicon.ico2,1351.3K

Many TLS stacks, one shape

The same HTTP client behind different TLS libraries.

tokenseen asTLS fingerprintsaddresses
b11cun040_00040013_608dab68Censys, /favicon.ico394.5K
b11cun030_00040012_13ee3d34Palo Alto, /335.1K
b11cun050_00040017_6b90553bWebKit, /29887
b11cun040_00040016_aa48e2c8Censys, /265.9K
b11cun030_00040014_54d07b6dWebKit, /253.9K

Many ports, one shape

Sweepers that keep one request shape across the port range.

tokenseen asportsaddresses
b11cun040_00040013_608dab68Censys, /favicon.ico43,0974.5K
b11cun010_00040000_c4b2c4aano UA, /33,042928
b11cun040_00040016_aa48e2c8Censys, /32,8975.9K
b00cun000_00000000_334359b9no UA, *25,949493
b10cun020_00000014_0a8d7f11Palo Alto, /24,6092.0K