如何使用C#语言编写程序通过ip地址找出端口号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用C#语言编写程序通过ip地址找出端口号相关的知识,希望对你有一定的参考价值。
如何通过C#语言编程实现通过IP地址找到服务器开放的端口号!
我要的是通过C#编程代码啊!
写一个10000以内的for循环
在循环里面写一个TCP访问的Socket,给他两个参数IP地址和端口号
端口号是循环中的变量
然后判断Socket是否为空 不为空就证明这个端口开放,可以打印一些信息 参考技术A 在命令提示符里输入netstat -anb就可以看到了 参考技术B 不好意思 ,看错了。。 参考技术C 用循环来一个一个试吧~反正总共也就几万个端口,代码只能你自己写了,呵呵~没悬赏分呐~
IP地址和端口号的概念
所有的联网的程序,都会进行网络通信
- 计算机只有一个物理网卡,而且同一个局域网中,网卡的地址必须是唯一的
- 网卡是通过唯一的IP地址来进行定位的
- IP地址用来定位计算机
- 端口号用来具体的应用程序(软件)
- 一切需要联网的通信软件都会占用一个端口号
- 端口号的范围是0-65536之间
- 在计算机中有一些默认端口号,最好不要去使用例如:HTTP服务的80
- 在开发过程过程中,使用简单3000呀,8000呀是木有意义的。
启动服务器
打开cmd,输入ipconfig,调出IP地址(IPV4),你的IP地址和127.0.0.1(本机)是一致的,通过局域网(我的是IP地址:http://192.168.43.186:3000/)是可以和大家共享的。
如何查看客户端是如何开启端口号进行的通信?
是通过net里面的api是:请求事件.socket.remotePort
console.log("请求我的客户端的端口号是"+request.socket.remotePort);
代码描述:
var http = require('http');
var server = http.createServer();
server.on('request',function(request,response)
console.log("收到客户端请求了,请求路径是"+request.url);
// 请求对象的端口号查看
console.log("请求我的客户端的端口号是"+request.socket.remotePort);
)
server.listen(3000,function()
console.log("服务器启动成功。可以通过http://127.0.0.1:3000/ 来进行访问");
)
在同一局域网下,再通过定位IP地址,就可以得出真正的通信地址,得出访问服务器的远程客户端的“地址”
通过方法:request.socket.remoteAddress
获取IP地址
var http = require('http');
var server = http.createServer();
server.on('request',function(request,response)
console.log("收到客户端请求了,请求路径是"+request.url);
// 请求对象的(远程)端口号查看,收到的是不同的端口号
console.log("请求我的客户端的端口号是"+request.socket.remotePort);
// 请求我的客户端的IP地址是(远程)
console.log("请求我的客户端的IP地址是"+request.socket.remoteAddress);
)
server.listen(3000,function()
console.log("服务器启动成功。可以通过http://127.0.0.1:3000/ 来进行访问");
)
通过本机不同的软件访问,端口号不同
不同的客户端请求IP地址不同
以上是关于如何使用C#语言编写程序通过ip地址找出端口号的主要内容,如果未能解决你的问题,请参考以下文章
编写一个Servlet程序,处理URL请求"/retrieve",功能是获取服务器IP地址和服务器端口号,并返回给用户?