Python 포트 검 측 방법
평소 작업 중 에 포트 검 사 를 만 나 서버 의 특정 포트 가 대외 적 으로 개방 되 었 는 지,nmap,tcping,telnet 등 을 자주 사용 하 는 지 확인 하 는 동시에 역장 도구 등 웹 스 캔 포트 등 도 이용 할 수 있 습 니 다.
하지만 역장 도구 로 발견:
랜 검색 시작 단 네트워크 제한 으로 인 한 포트 검사 이상 을 피하 기 위해 python-nmap 를 사용 하지 않 습 니 다.
역장 도 구 를 호출 하여 실현 하고 싶 습 니 다.
2.코드:
2.1 구조
2.2 코드
github 주소
부분 코드
#
#
[port_check_info]
# ip
#address = baidu.com
#address = 127.0.0.1
address = www.anchnet.com,www.51cto.com,www.baidu.com
# , , , '-'
#ports = 80,8080....
ports = 20-25,80,443,1433,1521,3306,3389,6379,8080,27017
#
[loginfo]
#
logdir_name = logdir
#
logfile_name = check_port.log
def _get_body(self):
"""
address port
:return: list
"""
address_list = self.address_list.split(',')
port_list = self.port_list.split(',')
# , range
range_flag = False
port_range = None
content_List_range = []
for port in port_list:
if '-' in port:
range_flag = True
port_range = range(int(port.split('-')[0]),int(port.split('-')[1])+1)
port_list.remove(port)
# list
for add in address_list:
if range_flag:
for port in port_range:
content_List_range.append(add + ':' + str(port))
# range list
content_List = [ add+':'+port for add in address_list for port in port_list ]
content_List_range.extend(content_List)
return content_List_range
def run(self):
"""
:return:
"""
for content in self._get_body():
content_list = content.split(':')
body = {
'host': content_list[0],
'port': content_list[1],
'encode': 'tlCHS1u3IgF4sC57m6KOP3Oaj1Y1kfLq'
}
try:
response = requests.post(url=self.url,data=body,headers=self.headers)
port_status = re.findall("msg:'(.*?)'", response.text)
if len(port_status) > 0:
# print('%s,port status is:%s' % (content, port_status))
self.logoper.info('%s,port status is:%s' % (content, port_status))
else:
self.logoper.info('%s,port status is:%s' % (content, port_status))
# print('Occer error! ')
except Exception as e:
print(e)
3.테스트:3.1 검사 결과 보기
51cto 의 8080 포트 도 열 려 있 습 니 다.
3.2 로그 보기
4.개선:
4.567917.후기 에 비동기 다 중 프로 세 스 등 을 추가 하여 효율 을 높 일 수 있다.
4.567917.여러 사이트 의 검 측 결 과 를 비교 하여 결 과 를 더욱 정확 하 게 할 수 있다.
nmap 내 망 통합 도 검 측 가능총결산
위 에서 말 한 것 은 소 편 이 소개 한 Python 이 포트 검 사 를 실현 하 는 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.