有没有人知道Python模块或解决方案如何通过ASN(自治系统编号)编号查找公司信息(最好是姓名)?
ASN工具有很多IP,但这不是我要求的。
ASN需要是输入 - 公司名称输出。
这个网站有我需要的信息: http://bgp.potaroo.net/cgi-bin/as-report?as=AS5607&view=2.0
感谢任何想法!
答案 0 :(得分:2)
whois.ra.net可能包含您要查找的内容。它是一个whois-server,可以通过AS号作为ip地址查询。
大多数python模块似乎不允许您设置要查询的whois服务器。您可能必须自己实现一个whois客户端,这非常简单:
尝试:
import socket
def whois(server, query):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((server, 43))
sock.send(query + '\r\n')
response = ''
while True:
d = sock.recv(4096)
response += d
if d == '':
break
sock.close()
return response
print whois('whois.ra.net', 'AS15169')
答案 1 :(得分:1)
该信息可在CIDR-Report网站上公开获取。
此网址包含您需要的所有信息,并且每天都会更新。大文件,加载可能需要一段时间: http://www.cidr-report.org/as2.0/autnums.html
答案 2 :(得分:1)
尝试this,它可能是您需要的
from cymruwhois import Client
import ipresolved
domain='facebook.com'
ips=ipresolved.getipresolvedfromdomain(domain)
c=Client()
for i in ips.json()['resolutions']:
ip=i['ip_address']
print('ip : '+ip)
r=c.lookup(ip)
print('asn number: ',r.asn)
print('asn owener : ',r.owner)
print('==============')
答案 3 :(得分:0)
@ Al-Pha答案的稍微更新的版本:
多查询:
override func viewDidLoad() {
super.viewDidLoad()
if let navigationController = navigationController {
coordinator = MainCoordinator(navigationController: navigationController)
}
}
单次查找:
from cymruwhois import Client
import socket
c = Client()
ip = socket.gethostbyname('globalresearch.ca')
for r in c.lookupmany([ip, "213.73.91.35"]):
print(r.__dict__)
# print(r.asn)