просто хотите распечатать все пакеты, например, ниже. Его простой HTTP-анализатор java-кода. Пожалуйста, проверьте мою основную информацию. Как я могу напечатать имя протокола или другую функцию. СпасибоКак распечатать весь пакет HTTP
//package jdumper.analyzer;
import jpcap.packet.*;
import java.util.*;
import java.io.*;
public class HTTPAnalyzer extends JDPacketAnalyzer
{
private static HTTPAnalyzer analy;
public static void main(String arg[])
{
System.out.println(boom.getValueNames());;
}
private static final String[] valueNames={
"Method",
"Header"
};
String method;
Vector headers=new Vector();
public HTTPAnalyzer(){
layer=APPLICATION_LAYER;
}
public boolean isAnalyzable(Packet p){
if(p instanceof TCPPacket &&
(((TCPPacket)p).src_port==80 || ((TCPPacket)p).dst_port==80))
return true;
else return false;
}
public String getProtocolName(){
return "HTTP";
}
public String[] getValueNames(){
return valueNames;
}
public void analyze(Packet p){
method="";
headers.removeAllElements();
if(!isAnalyzable(p)) return;
try{
BufferedReader in=new BufferedReader(new StringReader(new String(p.data)));
method=in.readLine();
if(method==null || method.indexOf("HTTP")==-1){
// this packet doesn't contain HTTP header
method="Not HTTP Header";
return;
}
String l;
//read headers
while((l=in.readLine()).length()>0)
headers.addElement(l);
}catch(IOException e){}
}
public Object getValue(String valueName){
if(valueNames[0].equals(valueName)) return method;
if(valueNames[1].equals(valueName)) return headers;
return null;
}
Object getValueAt(int index){
if(index==0) return method;
if(index==1) return headers;
return null;
}
public Object[] getValues(){
Object[] values=new Object[2];
values[0]=method;
values[1]=headers;
return values;
}
}
Я полагаю, из класса, который вы распространяете, вы используете jpcap из http://jpcap.sourceforge.net/. Если это так, пожалуйста, уточните, что вам нужно печатать. – Ostap
Спасибо ответ на мой вопрос. Можете ли вы показать мне, как я могу печатать HTTP все пакеты – tanya
Я был бы рад, но мне нужно понять, что вы подразумеваете под «пакетом». Вы имеете в виду Заголовки? Тело ответа? Полный текст пакета? – Ostap