LIST
VirusTotal은 무료로 파일 검사를 제공하는 웹사이트입니다.
다음코드는,vtapi3 파이썬 모듈을 활용하여 virustotal에서 ip에 대한 정보들을 가져온 후에 , 악성 정보만을 출력할 수 있는 코드를 구성해보았습니다.
from vtapi3 import VirusTotalAPIIPAddresses,VirusTotalAPIError
vt_api_ip_addresses = VirusTotalAPIIPAddresses(
'your_apikey')
# ip들을 검색한다.
try:
result = vt_api_ip_addresses.get_report('ip')
# 검색이 안되면 error 메시지를 출력한다.
except VirusTotalAPIError as err:
print(err, err.err_code)
# virus total 값들을 가져온다.
else:
if vt_api_ip_addresses.get_last_http_error() == vt_api_ip_addresses.HTTP_OK:
# 결과값을 result에 json형태로 저장한다.
result = json.loads(result)
# URL 스캔 시작 안내, 60초 대기
print('Virustotal IP Scan Start (60 Seconds Later) : ','ip', '\n')
# 점검 결과 데이터 추출
report_scans = result.get("data").get("attributes").get("last_analysis_results") # 결과값 저장
report_scans_vendors = list(report_scans.keys()) # vendor 저장
report_scans_vendors_cnt = len(report_scans_vendors) # vendor 길이 저장
# print(report_scans_vendors_cnt)
# 파일 스캔 결과 리포트 데이터 보기
print('Scan URL Vendor CNT: ', report_scans_vendors_cnt, '\n')
# 바이러스 스캔 엔진사 별 데이터 정리
numbers = 1
vendor_count = 0
for vendor in report_scans_vendors:
outputs = report_scans[vendor]
outputs_result = report_scans[vendor].get('result')
outputs_detected = report_scans[vendor].get('detected')
# outputs_detected = True, False
# outputs_result = clean , unrated , malware , malicious , Phishing
if outputs_result != 'clean':
if outputs_result != 'unrated':
print(f'[No].{numbers}',
",[Vendor Name]:", vendor,
',[Vendor Result]:', outputs_result,
',[Vendor Detected]:', outputs_detected)
numbers += 1
vendor_count += 1
print("밴더 수 :",vendor_count, '\n')
출력 값은 아래와 같습니다.
참고 자료
1. https://anfrhrl5555.tistory.com/75
(API+Python) VirusTotal API 이용해서 URL 검색하기
VirusTotal은 File, URL, IP, etc... 여러가지에 대해 악성유무를 검사할 수 있는 유용한 사이트이다. VirusTotal에서 제공하는 API를 가지고 python code를 짜서 손쉽게 데이터를 받아올 수 있다. 해당 사이트..
anfrhrl5555.tistory.com
2.
반응형
LIST
'파이썬' 카테고리의 다른 글
[자료구조] 시간 복잡도와 공간 복잡도 (1) | 2023.01.16 |
---|---|
No module named ’win32com’ error (0) | 2022.11.02 |
4-2 For 문 (0) | 2022.10.20 |
4-1. IF 문 (0) | 2022.10.20 |
[실습] 파이썬 튜토리얼에서 코드만 뽑아오기 2 [BeatifulSoup] (0) | 2022.09.04 |
댓글