ネットワークレイヤー
ネットワークインテリジェンスエンジン
VPN、プロキシ、Torを見通します。すべての接続は、アプリケーションに触れる前にフラグ付け・位置特定・スコアリングを済ませて届きます。
VPN検知
マルチシグナル検知
VPN検知は、商用のIPインテリジェンス・データベースへの照会と、ブラウザ側の整合性チェックを組み合わせます。イベントは結果を真偽値——vpn、proxy、tor、datacenter——として返し、アドレス自体は内部にとどまります。
レスポンス例
{
"network": {
"vpn": true,
"proxy": true,
"tor": false,
"datacenter": false
}
}プロキシ検知
真偽値のproxyフィールド
プロキシ経由のトラフィックは、接続元IPを商用のIPインテリジェンス・データベースで照会して判定します。このデータベースはアドレスの背後にある回線の種類——データセンター、公開プロキシとWebプロキシ、レジデンシャルプロキシ、検索エンジンのクローラー、VPN、Tor——を記録しています。いずれであっても真偽値フィールドproxyが立ちます。APIは匿名性の段階でプロキシを格付けしないため、検索エンジンのクローラーもVPNとまったく同じようにproxyを立てます。
レスポンス例
{
"network": {
"vpn": false,
"proxy": true,
"tor": false,
"datacenter": true,
"isp": "DigitalOcean, LLC",
"asn": 14061
}
}Tor検知
データベース由来のtorフィールド
同じIPインテリジェンス・データベースでTorノードとして登録されたアドレスからの接続にフラグが立ちます。イベントはvpn、proxy、datacenterと並んで真偽値フィールドtorを持ちます。リレー一覧やノードのメタデータは公開しません。
レスポンス例
{
"network": {
"vpn": false,
"proxy": true,
"tor": true,
"datacenter": false
}
}位置情報
都市レベルの照会
接続元アドレスについて、IPから位置を解決します。イベントにはIP位置の国、都市、座標、タイムゾーンが含まれます。
レスポンス例
{
"geo": {
"country": "DE",
"city": "Berlin",
"lat": 52.52,
"lon": 13.405,
"timezone": "Europe/Berlin",
"isp": "Deutsche Telekom"
}
}ASN分析
ASNとISPのメタデータ
Businessプランでは、すべてのイベントが接続元アドレスの背後にある自律システム番号とISP名を含みます。データセンターとホスティングのトラフィックは、ネットワーク種別のラベルではなく真偽値フィールドdatacenterで切り分けられます。
レスポンス例
{
"network": {
"vpn": false,
"proxy": false,
"tor": false,
"datacenter": false,
"isp": "Deutsche Telekom",
"asn": 3320
}
}統合の例
ネットワークインテリジェンスは、サーバーに配信されるすべてのWebhookイベントに含まれます。追加のAPI呼び出しは不要です。
IPレピュテーション、VPN、プロキシ分類を製品として利用したいですか? IP Intelligenceをご覧ください。
// Network signals arrive on your server in the webhook event
app.post('/webhook/tracio', (req, res) => {
const event = req.body
if (event.network.vpn) {
// Apply enhanced verification
requireMFA(event.visitorId)
}
if (event.network.datacenter) {
// Flag for review — residential users don't use datacenter IPs
flagForReview(event.visitorId, 'datacenter_traffic')
}
if (event.network.tor) {
// Block or challenge based on your policy
challengeUser(event.visitorId, 'tor_detected')
}
res.status(200).send('OK')
})