BGP/IP WHOIS Lookup
.search-box {
margin-bottom: 30px;
padding: 25px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 12px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
color: white;
}
.search-box h2 {
margin-top: 0;
color: white;
font-size: 28px;
margin-bottom: 10px;
}
.search-box p {
margin: 10px 0;
opacity: 0.95;
font-size: 15px;
}
.input-group {
display: flex;
gap: 10px;
margin-top: 20px;
}
#ipInput {
flex: 1;
padding: 14px;
font-size: 16px;
border: 2px solid rgba(255,255,255,0.3);
border-radius: 6px;
font-family: 'Courier New', monospace;
background: rgba(255,255,255,0.95);
transition: all 0.3s ease;
}
#ipInput:focus {
outline: none;
border-color: #4CAF50;
background: white;
box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}
#searchBtn {
padding: 14px 35px;
font-size: 16px;
background: #4CAF50;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
#searchBtn:hover {
background: #45a049;
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
#searchBtn:active {
background: #3d8b40;
transform: translateY(0);
}
#searchBtn:disabled {
background: #ccc;
cursor: not-allowed;
transform: none;
}
.help-text {
margin-top: 15px;
font-size: 14px;
color: rgba(255,255,255,0.9);
background: rgba(0,0,0,0.1);
padding: 10px 15px;
border-radius: 4px;
}
.help-text strong {
color: white;
}
.results {
margin-top: 30px;
display: none;
}
.results.show {
display: block;
}
.result-section {
background: white;
border: 1px solid #e0e0e0;
border-radius: 8px;
margin-bottom: 15px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
transition: all 0.3s ease;
}
.result-section:hover {
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.section-header {
background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
color: white;
padding: 15px 20px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
user-select: none;
transition: background 0.3s ease;
}
.section-header:hover {
background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%);
}
.section-header h3 {
margin: 0;
font-size: 18px;
display: flex;
align-items: center;
gap: 10px;
}
.section-header .icon {
font-size: 20px;
}
.section-toggle {
font-size: 24px;
transition: transform 0.3s ease;
}
.section-header.collapsed .section-toggle {
transform: rotate(-90deg);
}
.section-content {
padding: 20px;
background: #fafafa;
max-height: 1000px;
overflow: hidden;
transition: max-height 0.3s ease, padding 0.3s ease;
}
.section-content.collapsed {
max-height: 0;
padding: 0 20px;
}
.data-row {
display: flex;
margin: 12px 0;
padding: 10px;
background: white;
border-radius: 4px;
border-left: 3px solid #4CAF50;
}
.data-label {
font-weight: bold;
color: #555;
min-width: 180px;
flex-shrink: 0;
}
.data-value {
color: #333;
font-family: 'Courier New', monospace;
word-break: break-word;
}
.data-value.highlight {
color: #4CAF50;
font-weight: bold;
}
.data-value a {
color: #2196F3;
text-decoration: none;
}
.data-value a:hover {
text-decoration: underline;
}
.loading {
text-align: center;
padding: 40px;
color: #666;
}
.loading .spinner {
border: 4px solid #f3f3f3;
border-top: 4px solid #4CAF50;
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin: 0 auto 20px;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.error {
background: #ffebee;
color: #c62828;
padding: 15px 20px;
border-radius: 8px;
border-left: 4px solid #c62828;
margin: 20px 0;
}
.warning {
background: #fff3e0;
color: #e65100;
padding: 15px 20px;
border-radius: 8px;
border-left: 4px solid #ff9800;
margin: 20px 0;
}
.info {
background: #e3f2fd;
color: #1565c0;
padding: 15px 20px;
border-radius: 8px;
border-left: 4px solid #2196F3;
margin: 20px 0;
}
.no-data {
text-align: center;
padding: 30px;
color: #999;
font-style: italic;
}
.stats {
margin-top: 30px;
padding: 20px;
background: white;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
font-size: 14px;
color: #666;
border-top: 3px solid #4CAF50;
}
.stats strong {
color: #333;
}
.example-queries {
margin-top: 15px;
padding: 15px;
background: rgba(0,0,0,0.05);
border-radius: 4px;
}
.example-queries strong {
display: block;
margin-bottom: 8px;
color: white;
}
.example-link {
display: inline-block;
margin: 4px 8px 4px 0;
padding: 6px 12px;
background: rgba(255,255,255,0.2);
color: white;
text-decoration: none;
border-radius: 4px;
font-size: 13px;
font-family: monospace;
transition: all 0.2s ease;
}
.example-link:hover {
background: rgba(255,255,255,0.3);
transform: translateY(-1px);
}
/* IP Reputation Styles */
.reputation-alert {
margin: 15px 0;
padding: 15px 20px;
border-radius: 8px;
border-left: 4px solid;
display: flex;
align-items: flex-start;
gap: 15px;
}
.reputation-alert.clean {
background: #e8f5e9;
border-color: #4CAF50;
color: #2e7d32;
}
.reputation-alert.warning {
background: #fff3e0;
border-color: #ff9800;
color: #e65100;
}
.reputation-alert.critical {
background: #ffebee;
border-color: #f44336;
color: #c62828;
}
.reputation-icon {
font-size: 32px;
flex-shrink: 0;
}
.reputation-content {
flex: 1;
}
.reputation-title {
font-weight: bold;
font-size: 16px;
margin-bottom: 8px;
}
.reputation-details {
font-size: 14px;
line-height: 1.6;
}
.reputation-badge {
display: inline-block;
padding: 4px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: bold;
margin: 4px 4px 4px 0;
}
.reputation-badge.firehol-1 {
background: #f44336;
color: white;
}
.reputation-badge.firehol-2 {
background: #ff9800;
color: white;
}
.reputation-badge.firehol-3 {
background: #ffc107;
color: #333;
}
.reputation-badge.ipsum {
background: #9c27b0;
color: white;
}
.reputation-description {
margin-top: 10px;
padding: 10px;
background: rgba(0,0,0,0.05);
border-radius: 4px;
font-size: 13px;
}
/* Transfer History Styles */
.transfer-timeline {
position: relative;
padding-left: 30px;
margin: 20px 0;
}
.transfer-timeline::before {
content: '';
position: absolute;
left: 10px;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(180deg, #4CAF50 0%, #2196F3 100%);
}
.transfer-record {
position: relative;
margin-bottom: 20px;
padding: 15px;
background: white;
border: 1px solid #e0e0e0;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
transition: all 0.3s ease;
}
.transfer-record:hover {
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
transform: translateX(4px);
}
.transfer-record::before {
content: '';
position: absolute;
left: -24px;
top: 20px;
width: 10px;
height: 10px;
border-radius: 50%;
background: #4CAF50;
border: 2px solid white;
box-shadow: 0 0 0 2px #4CAF50;
}
.transfer-date {
font-weight: bold;
color: #4CAF50;
font-size: 14px;
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 8px;
}
.transfer-date::before {
content: '📅';
font-size: 16px;
}
.transfer-type {
display: inline-block;
padding: 4px 10px;
background: #e3f2fd;
color: #1565c0;
border-radius: 4px;
font-size: 12px;
font-weight: bold;
margin-left: 10px;
}
.transfer-parties {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 15px;
align-items: center;
margin: 15px 0;
padding: 12px;
background: #f8f9fa;
border-radius: 6px;
}
.transfer-party {
text-align: center;
}
.transfer-party-label {
font-size: 11px;
text-transform: uppercase;
color: #666;
font-weight: bold;
margin-bottom: 5px;
letter-spacing: 0.5px;
}
.transfer-party-name {
font-weight: 600;
color: #333;
font-size: 14px;
}
.transfer-party-country {
font-size: 12px;
color: #666;
margin-top: 3px;
}
.transfer-arrow {
font-size: 24px;
color: #4CAF50;
}
.transfer-resources {
margin-top: 12px;
padding: 10px;
background: white;
border: 1px solid #e0e0e0;
border-radius: 4px;
}
.transfer-resources-label {
font-size: 12px;
font-weight: bold;
color: #666;
margin-bottom: 6px;
text-transform: uppercase;
}
.transfer-resource-item {
font-family: 'Courier New', monospace;
color: #1976d2;
font-size: 13px;
padding: 4px 8px;
background: #f5f5f5;
border-radius: 3px;
display: inline-block;
margin: 2px 4px 2px 0;
}
.transfer-rir-info {
margin-top: 10px;
font-size: 12px;
color: #666;
display: flex;
gap: 20px;
}
.transfer-rir-info span {
display: flex;
align-items: center;
gap: 5px;
}
.transfer-count-badge {
display: inline-block;
background: #4CAF50;
color: white;
padding: 4px 10px;
border-radius: 12px;
font-size: 12px;
font-weight: bold;
margin-left: 10px;
}
/* Responsive design */
@media (max-width: 768px) {
.input-group {
flex-direction: column;
}
#searchBtn {
width: 100%;
}
.data-row {
flex-direction: column;
}
.data-label {
margin-bottom: 5px;
min-width: auto;
}
}
Tra cứu BGP/IP WHOIS
Khám phá mạng đằng sau bất kỳ địa chỉ IP hoặc ASN nào. Nhận thông tin định tuyến BGP, chi tiết đăng ký WHOIS và vị trí địa lý.
Các định dạng được hỗ trợ:IPv4 (8.8.8.8) • IPv6 (2001:4860:4860::8888) • ASN (AS15169 hoặc 15169) • CIDR (1.1.1.0/24)
Phần thông tin BGP ASN
Phần thông tin WHOIS
Phần vị trí địa lý
Phần danh tiếng IP
Phần lịch sử chuyển nhượng
🔢Thông tin BGP ASN
▼Không có sẵn dữ liệu
📋Thông tin WHOIS
▼Không có sẵn dữ liệu
📍Vị trí địa lý
▼Không có sẵn dữ liệu
🔄Lịch sử chuyển nhượng
▼Không có sẵn dữ liệu
Thông tin cơ sở dữ liệu:
Nguồn dữ liệu:MaxMind GeoLite2, CAIDA AS Tổ chức, RIPE NCC, APNIC, LACNIC, ARIN
Dữ liệu danh tiếng: Danh sách chặn IP FireHOL, Thông tin về mối đe dọa IPsum
Lịch sử chuyển nhượng:Báo cáo chuyển giao RIR (ARIN, APNIC, LACNIC)
Cập nhật lần cuối:2026-01-04 •Sự riêng tư:Tất cả việc tra cứu được thực hiện phía máy khách từ cơ sở dữ liệu RIR công cộng
Dữ liệu danh tiếng: Danh sách chặn IP FireHOL, Thông tin về mối đe dọa IPsum
Lịch sử chuyển nhượng:Báo cáo chuyển giao RIR (ARIN, APNIC, LACNIC)
Cập nhật lần cuối:2026-01-04 •Sự riêng tư:Tất cả việc tra cứu được thực hiện phía máy khách từ cơ sở dữ liệu RIR công cộng