写一个代码进行端口扫描
时间: 2023-06-06 13:07:58 浏览: 61
好的,以下是一个基于Python语言的简单的端口扫描代码,您可以参考:
```
import socket
import sys
# 获取主机名和端口号
host = input("请输入主机名/IP地址:")
port = int(input("请输入起始端口号:"))
# 设置 socket 连接
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(3)
# 循环扫描端口号
while port < 65535:
try:
# 尝试连接主机
sock.connect((host, port))
except:
# 端口关闭,跳过
pass
else:
# 端口开放
print("Port %d is open" % (port,))
# 关闭连接
sock.close()
sys.exit()
# 递增端口号
port += 1
# 扫描结束,关闭连接
sock.close()
```
请注意:进行端口扫描可能会有一定的法律风险,请您务必注意法律法规,合理使用网络工具。
相关问题
写一个TCP端口扫描程序
好的,以下是一个简单的TCP端口扫描程序的代码:
```python
import socket
target = input('请输入要扫描的IP地址:')
port_range = input('请输入要扫描的端口范围(如:1-65535):')
start_port, end_port = port_range.split('-')
start_port = int(start_port)
end_port = int(end_port)
print('开始扫描...')
for port in range(start_port, end_port+1):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(0.1)
result = s.connect_ex((target, port))
if result == 0:
print(f'端口 {port} 开放')
s.close()
print('扫描结束')
```
这个程序可以输入要扫描的IP地址和端口范围,然后扫描这个IP地址上的所有端口,输出哪些端口是开放的。
python写一个tcp端口扫描
可以使用Python的socket模块来实现TCP端口扫描,以下是一个简单的示例代码:
```python
import socket
target_host = "127.0.0.1"
target_ports = [80, 443, 8080]
for port in target_ports:
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.settimeout(0.5)
try:
client.connect((target_host, port))
print(f"Port {port} is open")
except:
print(f"Port {port} is closed")
client.close()
```
这段代码会扫描目标主机上的80、443和8080端口,如果端口开放则输出"Port [port] is open",否则输出"Port [port] is closed"。