我想要两个 Windows 应用程序,它们使用 Windows 套接字通过 TCP/IP 进行通信。在此,我希望我的程序自动选择可用的空闲端口来建立连接。
有没有办法使用 C 或 C++ 程序找到空闲 TCP 端口?
准确地说,我想自动检测服务器端的空闲端口,并让客户端知道相同的端口(用于连接到服务器)。
谢谢你的时间!
我的本地网络中有一个设备并且知道它的 MAC 地址。它通过 DHCP 自动获取 IP 地址。我想获得这个IP。
我不想使用 nmap,但 scapy 就可以了,因为我是从 kivy 应用程序导入的。
我发现:
from scapy.all import srp, Ether, ARP
ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.0/24"),timeout=2)
Run Code Online (Sandbox Code Playgroud)
与
ans.summary()
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
Ether / ARP who has 192.168.43.1 says 192.168.43.92 ==> Ether / ARP is at 3e:f8:d9:45:1b:3d says 192.168.43.1
Run Code Online (Sandbox Code Playgroud)
我的两个问题是:
1:我必须使用 sudo python 运行脚本,并且我不确定 kivy 中的权限。
2:有没有一种简单的方法可以从.summary()中获取IP/MAC变量?
如何在Python中确定IP地址的类别。我正在使用 python 的 ipaddress 模块。以下是类定义
Class Private Networks Subnet Mask Address Range
A 10.0.0.0 255.0.0.0 10.0.0.0 - 10.255.255.255
B 172.16.0.0 - 172.31.0.0 255.240.0.0 172.16.0.0 - 172.31.255.255
C 192.168.0.0 255.255.0.0 192.168.0.0 - 192.168.255.255
Run Code Online (Sandbox Code Playgroud)
给定一个IP,我如何检查它是否属于A类、B类或C类
我正在尝试执行以下代码。我是 Java 新手,所以这是我第一次接触 java.net。程序中没有错误,但我得到的本地主机地址为 192.168.56.1,而我的 IP 为 192.168.2.10
import java.net.*;
class InetAddressDemo
{
public static void main(String[] args)
{
try
{
InetAddress address = InetAddress.getLocalHost();
System.out.println("\nLocalhost Address : " + address + "\n");
}
catch (Exception e)
{
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud) 在Python中,如果我有一个IP地址和一个子网掩码作为字符串,我如何确定网络IP?
即 IP = 10.0.0.20,掩码 = 255.255.255.0 将导致网络 IP 为 10.0.0.0
我是 C++ 编程的初学者,有一点 Java 经验。我的目标是在服务器和客户端(在两个不同的文件夹中)之间传输文件(在本地主机中)。
我在网上找到了这段适合我的代码,它打开套接字并在服务器和客户端之间建立连接,您可以发送在终端中键入的消息。
我在互联网上尝试了很多不同的代码,要么无法编译,要么不是我需要的。
这是我发现的可以传输消息的代码。
服务器.cpp 文件
enter code here
/* A simple server in the internet domain using TCP
The port number is passed as an argument */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
void error(const char *msg)
{
perror(msg);
exit(1);
}
int main(int argc, char *argv[])
{
int sockfd, newsockfd, portno;
socklen_t clilen;
char buffer[256];
struct sockaddr_in serv_addr, cli_addr;
int n;
if (argc < 2) {
fprintf(stderr,"ERROR, …Run Code Online (Sandbox Code Playgroud) 我有一个通过 cloudflare 运行的 azure 应用程序服务。由于该网站之前运行时没有使用 cloudflare,因此您可以在此处通过 DNS 历史记录找到我的网站 IP 地址 https://securitytrails.com/
知道这一点意味着攻击者可以绕过我的 cloudflare DDOS 保护。
如何更改我的 azure 应用服务的 IP 地址而不删除它?
我猜我可以添加一个公共 IP 并将所有流量从该 IP 路由到我现有的 IP,然后我可以对现有 IP 进行防火墙设置,只接受来自新 IP 的流量。当我可以在夜间更改 IP、更新 DNS 并接受喜欢凌晨 4 点工作的用户可能需要几个小时的停机时间(无)时,这似乎有点令人费解。是否可以强制改变IP?
z/OS 是在 IBM 390 大型机硬件上运行的 64 位操作系统。可以通过 3270 模拟器或更常见的 SSH 协议从非 IBM 操作系统(如 Windows 或 Linux)进行连接。互联网上是否有可以免费访问的系统?
我正在使用 PostgreSQL 从表中获取“IP 到城市”数据,但响应时间太长。我还在网络列上使用btree索引。
我的查询是:
从ip4_to_city_tbl中选择城市名称、分区、国家名称、大陆名称,其中“104.225.250.92”<<= 网络限制1;
表“ip4_to_city_tbl”有9685491条记录。
如果我们在 1 秒内有超过 400 个请求,那么需要 200 到 900 毫秒才能响应。
我希望查询在 10 毫秒内得到响应。
EXPLAIN 命令在 ip4_to_city_tbl 查询上显示顺序扫描 而不是索引扫描
所以请告诉我,应该如何提高响应时间以及哪个索引最适合 PostgreSQL inet 数据类型?
我在我的服务器上安装了 Virtualmin,当时我还没有域名。但现在我知道了,如何将 Virtualmin 配置为通过从另一台服务器管理的域名进行访问。
我可以简单地使用反向代理将ip映射到Apache中的新域名吗?
ip ×10
python ×3
tcp ×2
tcpclient ×2
apache ×1
azure ×1
c++ ×1
cloudflare ×1
database ×1
dns ×1
inetaddress ×1
java ×1
mac-address ×1
mainframe ×1
mask ×1
networking ×1
nginx ×1
postgresql ×1
scapy ×1
tcpserver ×1
virtualmin ×1
webmin ×1
winapi ×1
zos ×1