![](/img/trans.png)
[英]How to do ip spoofing/change source address/raw socket programming for UDP packets in java?
[英]How to send udp packets using Ip address from source to destination host?
來源方:
import java.io.*;
import java.net.*;
class Server
{
public static void main(String args[]) throws Exception
{
DatagramSocket ds = new DatagramSocket(50074);
byte[] ms = new byte[1024];
String a="Computer";
ms=a.getBytes();
DatagramPacket ps = new DatagramPacket(ms, ms.length, InetAddress.getByName("Destination Ip address"),1599);
ds.send(ps);
}
}
目的端:
import java.io.*;
import java.net.*;
class Client
{
public static void main(String args[]) throws Exception
{
DatagramSocket ds = new DatagramSocket(1599);
byte[] ms = new byte[10024];
DatagramPacket ps = new DatagramPacket(ms,ms.length);
ds.receive(ps);
System.out.println(new String(ps.getData()));
}
}
這是我的程序,但是沒有用。 當我給目標IP地址adress =“ localhost”時,它運行良好。 但是,如果我將localhost替換為“目標IP地址,如117.201.12.80”,則它無法正常工作..請幫助我解決此問題
localhost
或127.0.0.1
是系統默認的IP地址,如果您注意到Tomcat,xmapp,IIS等服務器都使用這些IP地址來運行這些應用程序。
因此,您指定的程序僅在您指定127.0.0.1
或localhost
,如果您連接到Internet或創建wifi網絡以玩IP地址為117.201.12.80
游戲,則可以使用該IP-地址。
抱歉-沒看到回應
當您應該分別使用分別填充117 201 12 80的addr
每個段調用InetAddress.getByAddress(byte[] addr)
InetAddress.getByName()
時,就在調用InetAddress.getByName()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.