python nmap扫描端口
时间: 2023-07-03 08:20:07 浏览: 147
使用 Python 中的 nmap 模块可以轻松地进行端口扫描。下面是一个简单的示例代码,使用 nmap 模块扫描目标 IP 的常用端口:
```python
import nmap
# 创建一个 nmap.PortScanner 对象
scanner = nmap.PortScanner()
# 扫描指定 IP 的常用端口
scanner.scan('127.0.0.1', '1-1024')
# 打印指定 IP 的开放端口
for port in scanner['127.0.0.1']['tcp']:
if scanner['127.0.0.1']['tcp'][port]['state'] == 'open':
print('Port %s is open' % port)
```
在上面的示例中,我们首先导入了 nmap 模块,并创建了一个 nmap.PortScanner 对象。然后,我们使用 scan() 方法扫描了目标 IP 的常用端口。最后,我们遍历了扫描结果,并打印了开放的端口信息。
相关问题
帮我提供一个脚本,用python编写,nmap扫描UDP端口。
好的,以下是Python的脚本代码,用于nmap扫描UDP端口:
```
import nmap
target = '127.0.0.1'
port_range = '1-100'
nm = nmap.PortScanner()
nm.scan(hosts=target, arguments='-sU -p ' + port_range)
for host in nm.all_hosts():
print('Host : %s (%s)' % (host, nm[host].hostname()))
print('State : %s' % nm[host].state())
for proto in nm[host].all_protocols():
print('Protocol : %s' % proto)
lport = nm[host][proto].keys()
for port in lport:
print('port : %s\tstate : %s' % (port, nm[host][proto][port]['state']))
```
帮我提供一个脚本,用python编写,模拟nmap扫描UDP端口。
好的,我可以帮您提供一个用Python编写的模拟nmap扫描UDP端口的脚本:
```python
import socket
target_host = input("请输入要扫描的目标主机:")
target_port = input("请输入要扫描的目标端口号,多个端口用逗号分隔:")
udp_ports = target_port.split(',')
for port in udp_ports:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.settimeout(3)
try:
s.sendto(b'Ping', (target_host, int(port)))
result = s.recvfrom(1024)
print(f"[+] {target_host}:{port} is open")
except Exception as e:
print(f"[-] {target_host}:{port} is closed")
finally:
s.close()
```
运行该脚本时,您需要输入要扫描的目标主机和端口号,多个端口可以用逗号分隔。脚本会依次扫描指定的端口号,如果端口开放则输出 "[+] 主机名:端口号 is open",否则输出 "[-] 主机名:端口号 is closed"。
希望这个脚本可以对您有所帮助!
阅读全文