我正在我的家庭网络上运行一个端口扫描仪。如果我在家庭网络上的设备上运行它,它只能在其他Linux机器(物理机器,而不是VM)上工作。所谓“工作”,我的意思是,它发现实际打开的端口很少(ssh、mysql、sunrpc和其他几个端口)。
当扫描Windows和其他杂项物联网设备时,它只是挂起,永远不会完成。我似乎不知道它是在哪里卡住的。
我认为这可能是守则中最相关的部分:
for port in range(begin, end):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
status
我正在编写一个HTTP服务器,我想同时侦听两个端口。
我创建了两个套接字和两个endPoint,并将它们传递给线程。
当代码位于socket.Bind(endPoint);时,我将得到以下异常
System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted
守则:
public class HTTPServer
{
private readonly IPEndPoint m_LocalEndPoi
我创建了一个类,它将尝试扫描某些主机的端口。
问题是我以随机的方式得到结果,或者w/e先完成。
如何确保按照执行此端口扫描的顺序显示结果?
测试方法(对不起,谷歌):
public class SimplePortScanner
{
public static void main(String[] args)
{
for(int i = 78; i < 85; i++)
{
new Scanner("google.com", i).start();
}
}
}
端口扫描方法:
我写了一个小的线程端口扫描器,在那里我注意在我完成后关闭套接字。
尽管关闭了套接字,但在对大量目标主机(大约12'000台主机和5个端口,因此总共创建/关闭了60'000个套接字)上运行它时,我还是收到了Too many open files错误。
我的理解是,只有在关闭端口时才会遇到此错误。我对需要我修改我的系统可以处理的打开文件数量的选项并不真正感兴趣(在其他SO帖子中推荐)。
下面是完整的端口扫描器代码。
import socket
import itertools
from concurrent.futures import ThreadPoolExecutor, as
我的端口扫描器代码如下:
import socket as sk
for port in range(1, 1024):
try:
s = sk.socket(sk.AF_INET,sk.SOCK_STREAM)
s.settimeout(1000)
s.connect(("127.0.0.1",port))
print("{0}:OPEN".format(port))
s.close
exce
因此,我试图用python3编写一个端口扫描器--这是我的代码:
import sys #allows us to enter command line arguments, among other things
import socket
from datetime import datetime
if len(sys.argv) == 2:
target = socket.gethostbyname(sys.argv[1]) #Translate a hostname to IPv4
else:
print("Invalid amount of arguments
我们有红帽7.5服务器
我们怀疑端口50070没有被服务正确关闭(我们通过netstat和PID检查未找到),但是从日志中我们可以看到端口正在使用。
所以我们试着做以下工作--例如,
ss --kill state listening src :50070
ss: unrecognized option '--kill'
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message
-V, --version output version i
我想在一个特定的端口上运行一个测试监听器,以检查该端口是否打开,但是每当我使用netcat启动一个监听器时,它都与0.0.0.0:8080 Ip地址绑定。我想启动一个通配符服务,比如:::8080 using netcat -l -p 8080或任何已知的方式。 我用来检查可用性的脚本 with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
if sock.connect_ex((ip,port)) == 0:
print "Port is open";
else:
我试图制作一个简单的端口扫描器:
socket.setdefaulttimeout(1)
try:
for port in range(lowport,highport):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#s.settimeout(1)
x = s.connect_ex((remoteServerIP, port))
if x == 0:
print "[+] Port {}: Open".format(port)
作为一个更大的项目的切线,我正在尝试实现一些代码来扫描打开的端口,以便最终运行数据包测试。目前我只是尝试连接到google.com,并且我知道端口80接受连接,所以我已经格式化了我的代码以扫描一系列端口,包括这个端口。然而,虽然我可以直接连接到端口80,扫描代码似乎通过它。我在想有没有人有什么想法?
public class PortScanner {
public static void main(String[] args) throws IOException {
Socket socket = new Socket();
String host
我正在尝试用python编写一个带有标题抓取功能的端口扫描器。
如果没有s.send('getBanner\n')行(获取横幅),我的脚本就可以工作,它会打印打开的端口。
但是当我添加'getBanner'行时,一个套接字错误显示为'[Errn 32] Broken Pipe'。
我知道这个错误可能是因为客户端没有等到连接建立并关闭套接字。我该如何解决这个问题呢?
代码:
import socket
host = '192.168.1.1'
for port in range(1,1024):
s = sock
我正在使用c语言开发一个基本的端口扫描。我认为我的程序正在工作,因为它显示了我的IP的开放端口。但是,当我执行程序时,会发生一些奇怪的事情:每次都会得到不同的结果:
例:
wholetomy@wholetomy:~/Desktop$ ./portscan 192.168.0.2
Porta 80 - status [ABERTA]
Porta 34294 - status [ABERTA]
Porta 38586 - status [ABERTA]
Porta 55424 - status [ABERTA]
wholetomy@wholetomy:~/Desktop$ ./portsc
我有一个关于端口扫描的任务。我正在扫描Java.In程序中一些IP地址的UDP端口(假设一切正常),我只能找到一个打开的UDP端口。在另一个手中,通过"nmap“进行端口扫描,我得到了4个开放的UDP端口。谁能告诉我为什么我不能通过Java代码找到多个端口?顺便说一句,我可以在我的代码中找到真正的开放端口。
int startPortRange=1;
int stopPortRange=1024;
InetAddress address = InetAddress.getByName("bigblackbox.cs.binghamton.edu");
有人能解释一下为什么其他人会得到IndentationError:当我试图进一步处理if else循环时,却意外地没有缩进。
我正在做一个端口扫描器项目,在这个项目中,我需要从这个用户输入中获取一些用户输入,我将指定需要扫描多少个端口。我的计划是进一步研究if命令,所以如果我没有得到1的响应,意义就是下一步。但这似乎不起作用
出什么事了?
input = input("1 or 2")
if input == '1':
try:
for port in range(1,65535):
我正试图用Python创建一个端口扫描器。我启动了扫描仪,但打印结果需要四十五分钟。我开始进行线程处理,但是我不知道如何在脚本中放置不同的范围。我开始创建一个全局变量,并试图在每个线程中传递这个变量。不幸的是,它不能正常工作,我得到了一个无效的语法错误。下面是密码。
import socket
import os
import sys
from threading import Thread
server = raw_input("Please enter a server name ")
def portConnect():
global num
t