标签: port-scanning

c#tcp端口扫描程序资源

有谁知道任何.Net库或资源将帮助我实现TCP端口扫描程序?

c# tcp port-scanning

3
推荐指数
1
解决办法
5406
查看次数

线程Python端口扫描程序

我正在编辑端口扫描程序,我正在编辑使用线程.这是原始代码的基础知识:

for i in range(0, 2000):  

    s = socket(AF_INET, SOCK_STREAM)  
    result = s.connect_ex((TargetIP, i))  

    if(result == 0) :  
        c = "Port %d: OPEN\n" % (i,)  

    s.close()
Run Code Online (Sandbox Code Playgroud)

这大约需要33分钟才能完成.所以我想我会把它设置为让它运行得更快一点.这是我的第一个线程项目,所以它不是太极端,但我运行了以下代码大约一个小时,没有例外但没有输出.我只是做错误的线程或什么?

import threading
from socket import *
import time

a = 0
b = 0
c = ""
d = ""

def ScanLow():
    global a
    global c

    for i in range(0, 1000):  
        s = socket(AF_INET, SOCK_STREAM)  
        result = s.connect_ex((TargetIP, i))  

        if(result == 0) :  
            c = "Port %d: OPEN\n" % (i,)  

        s.close()  
        a += …
Run Code Online (Sandbox Code Playgroud)

python windows multithreading port-scanning

3
推荐指数
1
解决办法
2852
查看次数

端口 1123 上的身份不明协议 murray

我对我在下面设置的盒子进行了基本的 nmap 扫描,这是输出。

$ nmap xxx.xx.org

Starting Nmap 7.40SVN ( https://nmap.org ) at 2017-05-17 13:25 GMT
Nmap scan report for xxx.xx.xx (xx.xx.5.180)
Host is up (0.00069s latency).
rDNS record for xx.xx.5.180: www.xxx.org
Not shown: 988 filtered ports
PORT      STATE  SERVICE
20/tcp    closed ftp-data
21/tcp    open   ftp
53/tcp    open   domain
80/tcp    open   http
110/tcp   open   pop3
143/tcp   open   imap
443/tcp   open   https
993/tcp   open   imaps
995/tcp   open   pop3s
1123/tcp  open   murray
2030/tcp  open   device2
10000/tcp open   snet-sensor-mgmt

Nmap done: 1 IP …
Run Code Online (Sandbox Code Playgroud)

port nmap port-scanning

2
推荐指数
1
解决办法
1041
查看次数

不经过while循环不断检查端口

在程序(Java)中,我需要检查并行端口中的特定引脚.每当该引脚从逻辑0变为1(正边沿时钟)时,我必须读取端口上的数据并保存它.这种情况大约每10毫秒发生一次,但可能会有所不同.

为了做到这一点,我用一个不断检查端口的while循环创建了一个单独的线程,但这使得处理器变得疯狂,我知道这是因为while循环.我的问题是,如何在不使用处理器密集的while循环的情况下不断扫描端口?该程序并不准确知道何时发生引脚更改,只是它发生在每10ms左右.

java loops port-scanning

1
推荐指数
1
解决办法
275
查看次数

修改现有代码以循环子网的正确方法

我正在编写一个端口扫描器,目的是循环遍历整个子网,以查看端口 445 是否在任何主机上打开,作为学习 C 编程的一种方式。该程序当前的设置方式是,需要手动输入一个 IP 地址,然后扫描仪就会启动。它工作完美(终于)。

我当前面临的问题:我不确定如何使该程序扫描整个子网,而不仅仅是单个主机。研究完这个问题后,我相信最好的方法是去掉 IP 地址的最后一个八位字节,并让它从 1-254 循环。然而,我并不完全确定如何开始解决这个问题。这是我当前的代码(为了澄清而大量注释):

...
void portScan() {

struct hostent *host;
    int err, i , sock ,start , end;
    char hostname[100];
    struct sockaddr_in sa;

    //Get the hostname to scan
    printf("Enter hostname or IP to scan: ");
    gets(hostname);

    //Get start port number
    start = 445;

    //Get end port number
    end = 445;

    //Initialise the sockaddr_in structure
    strncpy((char*)&sa , "" , sizeof sa);
    sa.sin_family = AF_INET;

    //direct ip address, use it
    if(isdigit(hostname[0])) {
        sa.sin_addr.s_addr …
Run Code Online (Sandbox Code Playgroud)

c subnet port-scanning

1
推荐指数
1
解决办法
346
查看次数

我已经使用java创建了一个portscanner,但是当我点击执行它时就冻结了

下面的代码是我用来创建端口扫描程序的,但是,当我点击"扫描"它执行但gui冻结直到它完成扫描,是否有任何可能的方法允许它在扫描时执行其他操作?

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class PortScannerGUI extends JFrame implements ActionListener
{
JPanel Panel = new JPanel(null);
JTextField Field = new JTextField();
JButton Button = new JButton();
JTextArea Area = new JTextArea();
JButton limit = new JButton("limit");

public PortScannerGUI()
{
    super();
    setSize(350, 400);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);
    setLocationRelativeTo(null);
    LoadUI();
}

public void LoadUI()
{
    Area.setBounds(20, 50, 310, 310);
    Area.setBorder(BorderFactory.createLineBorder(Color.BLUE));
    Area.setEditable(false);

    Field.setBounds(20, 10, 200, 35);

    Button.setBounds(230, 10,100, 35);
    Button.setText("Scan");
    Button.addActionListener(this);

    Panel.add(Field);
    Panel.add(Area); …
Run Code Online (Sandbox Code Playgroud)

java for-loop freeze port-scanning

0
推荐指数
1
解决办法
467
查看次数

Unix TCP端口扫描程序

我有一个TCP端口扫描程序,它扫描给定IP上的所有开放端口,并仅返回打开的端口和符号上的服务名称.为此,我创建一个套接字,将其设置为非阻塞模式,并select()在端口上如果超时则表示端口已关闭,否则打开.问题是我的select()总是超时,即使我尝试扫描开放端口.我希望有人指出我的错误,我的逻辑是不是很糟糕?

#include <stdlib.h>
#include <iostream>
#include <cstdio>
#include <string.h>
#include <netdb.h>
#include <fcntl.h>
#include <assert.h>
#include <sys/time.h>
#include <errno.h>

using namespace std;
fd_set    working_set;
hostent *he;
char* protoc [2] = { "tcp","udpn" };
int port;
struct sockaddr_in servaddr;
int sendfd;
servent *srvport;
void set_nonblock(int socket) {
    int flags;
    flags = fcntl(socket,F_GETFL,0);
    assert(flags != -1);
    fcntl(socket, F_SETFL, flags | O_NONBLOCK);
}
void set_block(int socket) {
    int flags;
    flags = fcntl(socket,F_GETFL,0);
    assert(flags != -1);
    fcntl(socket, F_SETFL, flags | ~O_NONBLOCK);
} …
Run Code Online (Sandbox Code Playgroud)

c unix tcp port-scanning

0
推荐指数
1
解决办法
1227
查看次数

标签 统计

port-scanning ×7

c ×2

java ×2

tcp ×2

c# ×1

for-loop ×1

freeze ×1

loops ×1

multithreading ×1

nmap ×1

port ×1

python ×1

subnet ×1

unix ×1

windows ×1