如何用java代码实现向远程IP地址的目标主机发送 带有SYN| ACK| FIN |URG| PSH 报文
标志的数据包
java 关于报文发送的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- charm_of_code 2017-03-11 03:14关注
这个首先要把数据封装到一个类里边,如下面
package com_3;public class MyData implements java.io.Serializable{
/** * */ private static final long serialVersionUID = 1L; public int getSYN() { return SYN; } public void setSYN(int sYN) { SYN = sYN; } public int getACK() { return ACK; } public void setACK(int aCK) { ACK = aCK; } public int getFIN() { return FIN; } public void setFIN(int fIN) { FIN = fIN; } public int getURG() { return URG; } public void setURG(int uRG) { URG = uRG; } public int getPSH() { return PSH; } public void setPSH(int pSH) { PSH = pSH; } public static long getSerialversionuid() { return serialVersionUID; } private int SYN; private int ACK; private int FIN; private int URG; private int PSH;
}
//当然要发送那么久应该有客户端代码和服务器端的代码
package com_3;
import java.io.*;
import java.net.*;
public class Client {public static void main(String[] args) { // TODO Auto-generated method stub new Client(); } public Client(){ try { //创建套接字 Socket s=new Socket("localhost", 8888); //获取输出流 ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream()); //创建数据包,根据不同情况创建不同的数据包 MyData mydata=new MyData(); mydata.setACK(aCK); mydata.setFIN(fIN); mydata.setPSH(pSH); mydata.setSYN(sYN); mydata.setURG(uRG); //发送数据包 oos.writeObject(mydata); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } }
}
服务器端代码:
package com_3;import java.net.*;
import java.io.*;
public class Server {public static void main(String[] args) { // TODO Auto-generated method stub } public Server(){ try { ServerSocket ss=new ServerSocket(8888); //获取连接 Socket socket=ss.accept(); //获取数据流 ObjectInputStream ois=new ObjectInputStream(socket.getInputStream()); //取出数据 MyData mydata=(MyData) ois.readObject(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } }
}
对于客户端的Socket s=new Socket("localhost",8888);
以及服务器端的ServerSocket ss=new ServerSocket(8888);
这里的localhost修改为服务器Ip地址,端口号可以根据情况修改。不知是否是你要的回答。
解决 无用评论 打赏 举报