2017-12-09 21 views
1

이 코드를 사용하면 호스트 이름, 프로토콜, 포트 및 포트 상태를 사용할 수 있습니다. 어떻게 서비스 정보를 얻을 수 있습니까?NMAP 서비스 정보

for host in nm.all_hosts(): 
    print('----------------------------------------------------') 
    print('Host : %s (%s)' % (host, nm[host].hostname())) 
    print('State : %s' % nm[host].state()) 

    for proto in nm[host].all_protocols(): 
     print('----------') 
     print('Protocol : %s' % proto) 

     lport = list(nm[host][proto].keys()) 
     lport.sort() 
     for port in lport: 
      print('port : %s\tstate : %s' % (port, nm[host][proto][port]['state'])) 
      print('----------') 
+0

당신이 우리에게 더 많은 정보를 줄 수, 당신은 '서비스 정보'가 무엇을 의미합니까 : 당신은 예를 들어 같은 뭔가 정보를 추출 할 수 있습니까? –

+0

해당 포트에서 실행중인 서비스. SNMP와 마찬가지로 – Tibi

+0

@AhmadNourallah \t 해당 포트에서 실행중인 서비스. SNMP와 마찬가지로 http 등 – Tibi

답변

0

좋아, 얘들 아, 이제 어떻게 끝났는지 알아! NMAP을 사용하기 때문에 nmap은 어떤 서비스가 어떤 포트에서 실행되고 있는지 알려줍니다.

print('port : %s\tservice : %s' % (port, nm[host][proto][port]['name'])) 
1
당신은 socket 모듈에서 getservbyport 기능을 사용하여 포트로 서비스 이름을 얻을 수

, 그런 식으로 뭔가를 시도 :

>>> import socket 
>>> socket.getservbyport(80) 
'http' 

가 특정 서비스에 대한 정보 (또는 정의)를 얻을 수있는 명확한 방법이 없습니다 파이썬에서는 웹 사이트에 대한 검색을 시도해보십시오 (그리고 파이썬과 함께 API를 사용하도록 제공).