草庐IT

c++ - 如何创建自己的 TCP 连接(只需发送 TCP 请求并获得结果)?

我想连接到某个服务器并查看特殊端口是否打开,所以我想发送带有SYN标志的TCP数据包并从服务器获取结果数据包并检查结果标志以确定端口是否打开是开放的、封闭的还是过滤的?现在我的问题是如何创建此TCP连接(我只需要2路连接而不是3路握手)请告诉我如何创建此特殊连接以及如何检查特殊标志以及如何创建我的TCP连接我想要的旗帜。 最佳答案 你没有说你在哪个平台上,但你需要搜索的术语是“原始套接字”。 关于c++-如何创建自己的TCP连接(只需发送TCP请求并获得结果)?,我们在StackOver

c# - 如何获得使用 TcpClient 进行连接的基本应用程序?

我正在尝试编写一个从端口读取数据的基本应用程序。这是我的代码:staticvoidMain(string[]args){intport=5600;stringserver="MyDevLaptopName";TcpClienttcpClient=newTcpClient();tcpClient.Connect(server,port);NetworkStreamstream=tcpClient.GetStream();byte[]data=newbyte[256];stream.Read(data,0,data.Length);Console.ReadLine();}当我运行上面的应用

php - 在我的 VPS 上监听一个端口,然后发送到 PHP MYSQL 保存

比如在我的VPS上监听一个端口TCP然后发送到PHPMYSQL保存。我知道如何将php连接到mysql,但是我无法监听端口并将LOG发送到php谢谢 最佳答案 这是一个C守护进程的基本示例,它正在监听指定的端口号。我把它写成一个简单的例子来指出一种可能的解决方法。所以,请记住,它不是在生产中随时可用的东西。当然,mysql的东西不包括在内。我假设下面的内容应该在某些基于Linux的操作系统上完成。编译后:gccportd.c-oportd它可以简单地运行为./portd然后就可以使用telnet测试了:telnetlocalhost

C#配置TCPClient客户端端口

我在C#中编写了TCPClient()代码,以便与LAN上的另一台设备进行通信。我只需要指定目标IP和端口号。现在我正在编写与它非常相似的代码。但是,它指定来self的PC的客户端端口必须大于1024。我该如何配置?这是否意味着如果未指定,VS会自动处理? 最佳答案 TcpClient(IPEndPoint)可用于指定客户端端口(只需使用IPAddress.Any作为地址部分)。如记录在Socket.Bind和wikipedia:ephemeral_port,默认情况下将使用高于1024的端口。

sockets - UDP 数据包丢失(LAN-Netcat),切换服务器-客户端数据包正常

我试图在LAN上运行一个使用UDP套接字的游戏,但在我的网络中看不到另一台计算机,所以我尝试了一些东西来查看是什么导致了这个问题。正在运行的操作系统是:PC1:LinuxUbuntuPC2:Windows10问题是当PC2正在监听时,PC1可以发送和接收数据包:$PC2>ncat-ul8888$PC1>ncat-uPC28888OK发送和接收工作正常,但是当客户端/服务器切换时,数据包丢失。$PC1>ncat-ul8888$PC2>ncat-uPC18888旁注,在PC2上,当尝试使用Python的socket.sendto函数发送数据包时,返回值不是-1,而是数据包的大小.在PC2上

windows - 枚举同一进程中的开放端口

在Windows中有什么方法可以让进程枚举它正在使用的所有开放端口/套接字?我试图在我的应用程序中追踪一些高端口使用率,但我的应用程序使用的端口很少,所以一定是其他一些DLL被加载到进程中。 最佳答案 Windows自己的命令行netstat实用程序,以及SysInternals的TCPViewapp,可以显示拥有每个开放端口的进程的名称。如果您想以编程方式枚举此信息,则必须手动枚举Windows的端口路由表并将它们映射到您的进程。在XP上,您可以使用AllocateAndGetTcpExTableFromStack()和Alloc

perl - 如何检查哪种检查端口状态的方法更有效?

我正在编写一个脚本来安排我的一些服务器上的端口检查,并报告状态。我打算选择以下两个选项之一:将netcat(nc)的输出通过管道传输到一个perl变量中,并检查返回状态my$rcode=`nc-z6.6.6.680;echo$?`使用perl模块IO::Socket::PortState做同样的事情。useIO::Socket::PortStateqw(check_ports);my%porthash=(...);check_ports($host,$timeout,\%porthash);print"$proto$_isnotopen($porthash{$proto}->{$_}-

linux - 如何找到空闲的 TCP 端口

如何在服务器上找到一个完全空闲的TCP端口?我试过命令行;netstat-an但我被告知状态为LISTENING的已经在使用中。我还尝试了一个名为TCPView的工具,但它同样只显示了正在使用的TCP端口。我知道如何远程登录到一个端口以检查它是否打开,但我需要找到一个免费的。 最佳答案 netstat-lntu这将解决您的目的。 关于linux-如何找到空闲的TCP端口,我们在StackOverflow上找到一个类似的问题: https://stackover

android - 如何授予我的系统应用程序 root 权限以绑定(bind)特权端口?

我正在开发一个将在托管平台上使用的应用程序。对于托管平台,我的意思是它将在使用Android作为平台的设备上运行。没有通常的Android(将安装手机/平板电脑应用程序,只是自定义公司软件)。根文件系统挂载为r/w,我可以将我的apk文件推送到/system/app/并启动我的Activity和服务。我的目标是提供在低于1024的端口上运行的服务。绑定(bind)此tcp端口时,我收到EACCES被拒绝的错误消息。我怎样才能让我的应用程序绑定(bind)到这个端口?我找到了iptables解决方案,但不幸的是,iptables可执行文件不起作用(段错误)。我无法重新编译平台,也没有平台

port - 如何判断一个端口是打开还是关闭

我怎么能说一个端口是打开的还是关闭的。开放端口和关闭端口的具体含义是什么。 最佳答案 我最喜欢检查特定端口是打开还是关闭的工具是telnet.您会在所有操作系统上找到此工具。语法是:telnet这是打开端口时的样子:telnetlocalhost3306Trying127.0.0.1...Connectedtolocalhost.Escapecharacteris'^]'.这是关闭端口时的样子:telnetlocalhost9999Trying127.0.0.1...telnet:connecttoaddress127.0.0.1: