Tag: networking

在局域网中获取所有IP和Mac地址

我在局域网中列出ip和mac地址所有设备(如网络扫描仪) 我想用java编程语言。 如果我使用我的IP地址,结果为真,但如果我在局域网中使用另一个IP地址,则网络变量为空。 (例如;我的IP地址:192.168.1.7,另一个IP地址:192.168.1.8) 这是我的代码; public static void checkHosts(String subnet) throws UnknownHostException, IOException{ int timeout=3000; for (int i=1;i<255;i++){ String host=subnet + "." + i; if (InetAddress.getByName(host).isReachable(timeout)){ System.out.println(host + " is reachable" + InetAddress.getByName(host)); NetworkInterface network = NetworkInterface.getByInetAddress(InetAddress.getByName(host)); if(network!=null){ System.out.println(network.isUp()); byte[] mac = network.getHardwareAddress(); System.out.println(network.getDisplayName()); System.out.println(network.getName()); System.out.println(InetAddress.getByName(host).getHostName()); System.out.print("Current MAC address : "); StringBuilder sb = new […]

TCP数据包在网络级合并

有人知道对方是如何以及为什么会收到合并的TCP数据包而不是单独的包? 我已经在套接字级别将TCP Nodelay设置为true,但tcpdump仍然将某些数据包视为已合并。 在发送了4个大小为310字节的成功数据包之后,我获得了3 x 1400字节而不是15 x 310字节。 这导致了一些重要的延迟。 谢谢。 http://www.2shared.com/photo/_bN9UEqR/tcpdump2.html s = new Socket(host, port); s.setTcpNoDelay(true); s.getOutputStream().write(byteMsg); s.getOutputStream().flush()

通过我的程序路由所有数据包?

我想构建一个应用程序,通过我的应用程序路由所有网络流量(不仅仅是HTTP)。 基本上,我想要的是给我的应用程序的所有流量(它们永远不应该达到实际目标,我的应用程序应该处理这个),然后将其转发到服务器; 同样适用于输入,只需反转(服务器 – >应用程序 – >想要答案的程序)。 是否有任何库(或类似的东西)可以使创建应用程序更容易? 我正在寻找可以从Python或Java中使用的东西,但如果真的需要,我可以学习另一种语言。

在Java中读写TCP头(选项)

我要做的是:编写客户端和服务器,通过TCP用Java发送字符串,到目前为止使用Socket和Input- / Output-Streams没问题。 但是现在我想在tcp标题的“Options”字段中添加3个数字 。 我找不到任何有用的教程或其他关于如何自定义标题以及如何阅读它的内容。 有什么建议么?

如何通过网络将String从Java发送到JavaScript?

我有一个用Java生成的JSON字符串,我需要将这个字符串发送到另一台计算机,它将通过JavaScript(因为电子 )接收它。 JavaScript计算机可能很远,并将通过互联网与Java应用程序联系。 Java应用程序不是各种Web应用程序,它是一个简单的后端应用程序。 我该怎么办?

在ColdFusion中,有没有办法确定运行代码的服务器是什么?

在ColdFusion代码中是否有任何方法来确定代码执行的服务器? 我有几个负载均衡的ColdFusion服务器。 我希望能够知道在捕获exception时代码运行在哪台服务器上,因此我可以在记录/报告代码中包含该信息。 如果这很重要,服务器是Windows 2003 / IIS。 我也很想知道如何在Linux / Apache中做到这一点。 🙂

Java中是否有Java x509certificate ClientHello解析器?

我得到了一个字节包,它是SSL协议包的ClientHello 。 在我开始自己编写代码之前,通过遍历整个字节来获取每个字段值的代码,我想知道是否有任何Java对象(来自java.security)用于获取这些字节并解析数据,所以我将能够采取SSL协议字段并使用它们?

使用Java中的UDP在网络上发送对象

我还没有找到我所遇到的问题的确切答案,所以无论如何我都会问这个问题,如果我这样做了,事实上,重新提出一个已被问过的问题,我道歉。 我正在为我的Java类做另一个实验任务,对于本周的实验,我必须让UDP服务器通过网络发送一个Message对象,然后我必须让UDP客户端读取该消息。 Message本身只是一个具有String消息和String用户名的Object; 相当随意。 消息是可序列化的。 现在,我遇到的问题是如何实际在DatagramPacket中通过网络发送消息对象? 实际的构造函数让我放入一个字节数组,数组的大小,InetAddress和端口号。 我的最后一个问题是:如何找出数组的大小,以及如何将我的Message转换为要发送的字节?

C#相当于Java的DataOutputStream?

我已经对这个主题做了很多研究,我发现这个问题经常被问到,但是没有一个人能得到我正在寻找的答案,最常见的解决方案是使用随附的BinaryWriter类C#,但它似乎没有做它的工作。 对于我的服务器应用程序,我使用Netty作为基于Java的NIO网络库,它使用DataInput和DataOutput Streams。 我有一个在java中工作的客户端,但它仅用于测试目的,我现在正在将其转移到C#以将其放入我的游戏中。 这是基本格式的C#代码,只是试图让事情暂时起作用。 Client = new TcpClient (); try { Client.Connect (IPAddress.Parse (“127.0.0.1”), PORT); Stream = Client.GetStream(); ClientOutput = new BinaryWriter(Stream); ClientInput = new BinaryReader(Stream); ClientOutput.Write ((string) “UserIsBob”); ClientOutput.Write ((string) “MyPassLol”); ClientOutput.Flush(); } 现在,这看起来很好; 但这是问题,在使用时 DataInputStream.readUTF() 在Java服务器上,没有任何反应; 但是,如果我使用 DataOutputStream.writeUTF(String) 从Java客户端,服务器将完美地读取它并将其打印到控制台。 我真的不确定我做错了什么,但似乎没有太多关于它的信息。 我需要的function如下: WriteByte(字节) WriteBytes(字节[]) WriteUTF(字符串) WriteInt(INT) WriteLong(长) WriteFloat(浮点) WriteDouble(双) WriteBoolean(布尔) 根据我的理解,你可以通过类型转换在BinaryWriter类中完成所有这些操作, 但它似乎没有被Java DataInputStream拾取 […]

关于如何在Java中检索多个IP地址(如果我有多个网卡)的一些疑问?

我在检索客户端的ip时遇到以下两个问题。 我在一个类中创建了以下代码: private static InetAddress thisIp; static{ try { thisIp = InetAddress.getLocalHost(); System.out.println(“MyIp is: ” + thisIp); } catch(UnknownHostException ex) { } } 我的问题是: 1)前面的代码应检索客户端的IP地址,当我执行它时,它会打印以下消息: MyIp是:andrea-virtual-machine / 127.0.1.1 为什么它以andrea-virtual-machine /开头? (我在虚拟机上开发),这是一个问题吗? 2)通过这种方式,我只能检索一个IP地址,但我可以拥有多个网卡,这样我就可以拥有多个IP地址但多个IP地址 我该怎么做才能处理这种情况? 我想把所有多个IP地址放入ArrayList TNX 安德里亚