Tag: network programming

如何在C#中使用Tor控制协议?

我正在尝试以编程方式将命令发送到Tor控制端口以使其刷新链。 我无法在C#中找到任何示例,我的解决方案无法正常工作。 请求超时。 我有服务正在运行,我可以看到它在控制端口上监听。 public string Refresh() { TcpClient client = new TcpClient(“localhost”, 9051); string response = string.Empty; string authenticate = MakeTcpRequest(“AUTHENTICATE\r\n”, client); if (authenticate.Equals(“250”)) { response = MakeTcpRequest(“SIGNAL NEWNYM\r\n”, client); } client.Close(); return response; } public string MakeTcpRequest(string message, TcpClient client) { client.ReceiveTimeout = 20000; client.SendTimeout = 20000; string proxyResponse = string.Empty; try { […]

ftp上传太大了

我在C#中编写了一个函数,用于在复制到文件共享时无法上传文件。 我注意到任何上传的文件大小都是原始文件的1.5-2倍,并且是无效文件。 这是代码: public bool save_FTPUpload(FileInfo fi_attachment) { bool fileSaved = false; string filename = fi_attachment.Name; while (!fileSaved) { string file_ftpURI = string.Format(“{0}/{1}”, ftpURI, filename); FtpWebRequest file_exist_request = (FtpWebRequest)FtpWebRequest.Create(file_ftpURI); file_exist_request.Credentials = new NetworkCredential(ftp_user, ftp_pass); file_exist_request.Method = WebRequestMethods.Ftp.GetFileSize; try { FtpWebResponse response = (FtpWebResponse)file_exist_request.GetResponse(); } catch (WebException ex) { FtpWebResponse response = (FtpWebResponse)ex.Response; if (response.StatusCode == […]

如何在C#中获取IP地址?

假设计算机连接到许多网络(实际上不止一个)。 我可以获得一个IP地址列表,其中包括计算机在网络中的所有IP地址,但我怎么知道IP地址属于哪个网络?

如何使用.net获取子网掩码?

我想使用c#获取客户端子网掩码。 我怎么才能得到它?

如何使用特定网络接口(或特定源IP地址)进行Ping?

根据这个链接: 使用System.Net.NetworkInformation,有没有办法将ping绑定到特定的接口? ICMP不能绑定到网络接口(与基于套接字的东西不同): ICMP不是基于套接字的。 ping将根据路由表发送到适当的端口。 https://stackoverflow.com/editing-help 但我看不出任何正确的方法来获取有关“pinger”的信息。 至少,在shell命令中,我可以指定源IP地址,但不能在我使用Ping类时。 我尝试以编程方式执行一些traceroutes以获取Ping路由中涉及的IP地址,但我没有得到网络接口的IP地址(我想它来自我无法将TTL设置为0的事实)。 有关如何确定哪个网络接口用于某个ping的任何想法? (或指定用于ping的网络接口的方法)。

如何指定UdpPacket的源端口?

我想将UdpPacket发送到特定的远程主机(我已经知道公共IP和端口)。 我想使用C#的UdpClient类。 static int Main() { UdpClient client = new UdpClient(); IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse(“1.2.3.4”), 9999); byte[] data = GetData(); client.Send(data, data.Length, remoteEP); } 发送数据包时,UdpClient会自动选择可用端口。 我想手动设置端口,从中发送数据包。 感谢您的帮助!

从C#中的IP获取本地网络上的计算机MAC地址

我正在尝试编写一个函数,它将一个IP address作为参数,并在我的本地网络上查询该机器的MAC address 。 我已经看到许多获得本地机器自己的MAC address例子,但是没有(我发现)似乎在查询本地网络机器。 我知道这样的任务是可以实现的,因为这种Wake on LAN扫描软件扫描本地IP范围并返回所有机器上的MAC地址/主机名。 谁能告诉我在哪里开始尝试编写一个函数来实现C#中的这个function? 任何帮助,将不胜感激。 谢谢 编辑: 根据Marco Mp在下面的评论,使用了ARP表。 arpclass

TCP客户端\服务器 – 客户端并不总是读取

客户代码: TcpClient client = new TcpClient(); NetworkStream ns; private void Form1_Load(object sender, EventArgs e) { try { client.Connect(“127.0.0.1”, 560); ns = client.GetStream(); byte[] buffer = ReadFully(ns, client.Available); //working with the buffer… } catch { //displaying error… } } public static byte[] ReadFully(NetworkStream stream , int initialLength) { // If we’ve been passed an unhelpful initial […]

如何获取局域网中所有主机的IP?

我需要列出局域网中所有连接主机的IP地址。 最简单的方法是什么?