
디렉토리의 모든 텍스트 파일에서 유효한 모든 IP 주소를 수집하고, Whois 데이터베이스, TOR 릴레이 및 위치와 대조하여 확인하는 Python 스크립트입니다.
이 스크립트는 지정된 폴더의 모든 파일을 재귀적으로 스캔하여 모든 IPv4 및 IPv6 주소를 추출하고, 공인 IP 주소를 필터링한 다음 TOR 릴레이, WhoIs 서비스 및 위치 서비스에 대해 이 IP들을 조회합니다. 출력 파일은 4개입니다: IP 주소의 모든 세부 정보가 포함된 CSV 파일과 JSON 파일, 발견된 모든 IP 주소의 인덱스가 포함된 CSV 파일, 그리고 수집된 모든 위치 정보가 포함된 KML 파일입니다.
Python 3.9.x
의존성 설치를 위해 다음을 실행하세요:
pip install -r requirements.txt
pip install pyinstaller
pyinstaller --onefile osips.py
python osips.py [-h] [-F INPUTFOLDER] [-f INPUTFILE] [-p INPUTFILESPATTERN] [-o OUTPUTFILESNAME] [-t {y,n,Y,N}] [-w {y,n,Y,N}] [-l {y,n,Y,N}] [-locationEndpoint LOCATIONENDPOINT]
python osips.py
python osips.py --checkTor Y --checkWhoIs Y --checkLocations Y --inputFolder testFolder/ --inputFilesPattern * --outputFilesName test
python osips.py -h
-h, --help
도움말 메시지를 표시하고 종료합니다.-F INPUTFOLDER, --inputFolder INPUTFOLDER
IP가 포함된 파일(로그 파일, 이메일 파일, 텍스트 파일 등)이 있는 폴더입니다. IP는 IPv4 및/또는 IPv6일 수 있으며 파일 내 어디든 위치할 수 있습니다. 스크립트는 폴더의 모든 파일을 파싱하고 모든 IP를 스캔합니다.-f INPUTFILE, --inputFile INPUTFILE
폴더 대신 하나의 파일만 스캔하려면 이 옵션을 사용하세요. 파일은 IP 주소가 포함된 모든 텍스트 파일(로그 파일, 이메일 파일, 텍스트 파일 등)일 수 있습니다.-p INPUTFILESPATTERN, --inputFilesPattern INPUTFILESPATTERN
입력 폴더의 파일에 사용할 패턴을 입력하세요. 예: *는 모든 파일, *.txt는 텍스트 파일.-o OUTPUTFILESNAME, --outputFilesName OUTPUTFILESNAME
출력 파일의 이름 (확장자 제외). 이 이름으로 4개의 다른 파일이 생성됩니다: IP 세부 정보를 저장하는 CSV 파일, IP 인덱스를 저장하는 인덱스 파일, 세부 정보를 저장하는 JSON 파일, 위치를 저장하는 KML 파일.-t {y,n,Y,N}, --checkTor {y,n,Y,N}
모든 공인 IP 주소를 TOR 릴레이 IP 주소와 대조 확인할지 여부를 지정합니다.-w {y,n,Y,N}, --checkWhoIs {y,n,Y,N}
모든 공인 IP 주소에 대해 WhoIs 정보를 추출할지 여부를 지정합니다.-l {y,n,Y,N}, --checkLocations {y,n,Y,N}
모든 공인 IP 주소를 지오코딩하고 https://reallyfreegeoip.org를 사용하여 위치 정보를 추출할지 여부를 지정합니다.-locationEndpoint LOCATIONENDPOINT
위치의 기본 REST 엔드포인트는 ""입니다. 플레이스홀더를 포함하여 다른 엔드포인트를 지정할 수 있습니다. 결과는 JSON 형식이어야 하며 다음 필드를 포함해야 합니다: country_name, region_code, region_name, city, zip_code, time_zone, latitude, longitude, metro_code