Eclipse学习系列 -- TCP/IP Monitor

TCP/IP Monitor是Eclipse的Debug工具之一,用于捕获Http、TCP/IP协议包。

本节记录如何使用此工具进行监控网路包。

TCP/IP的工作原理可能是这样的:

客户端:监视客户端发送指定服务器的TCP内容

情景:客户端使用HttpClient 4模拟http请求,向http://10.30.4.92/dahuazwan/发送请求,在Tcp/Ip Monitor捕获发送出去的包

Tcp/ipMonitor的配置如下:


Eclipse学习系列 -- TCP/IP Monitor_第1张图片
Local monitoriing port:Tcp/Ip本地监视端口

Host name:要访问服务器IP

Port:要访问服务器IP

Type:协议类型

 

客户端代码如下:

 

String url = "http://127.0.0.1:7878/dahuazwan/";
DefaultHttpClient httpclient = new DefaultHttpClient();  
HttpPost httpost = new HttpPost(url);  
StringEntity req_entity = new StringEntity("1234567890");
req_entity.setContentType("text/json;charset=UTF-8");
httpost.setEntity(req_entity);
HttpResponse response = httpclient.execute(httpost); 
HttpEntity entity = response.getEntity();  
System.out.println("Login form get: " + response.getStatusLine() + entity.getContent());  
System.out.println(EntityUtils.toString(entity));

注意:这里请求url不是服务器真实的IP和端口,而是Tcp/Ip Monitor所在服务器的IP(这里是本机127.0.0.1)和监视端口7878(即Local monitoriing port)

启动TCP/IP的监视器,发送请求,得到如下结果,发现成功截获请求。


Eclipse学习系列 -- TCP/IP Monitor_第2张图片

整个TCP/IP工作流程如下:客户端不直接将数据发送服务端,而是将数据先发送到TCP/IP Monitor,然后TCP/IP Monitor再将数据发送的服务端;服务端处理完数据后,再将数据返回给TCP/IP Monitor,TCIP/IP再将处理后的数据转给客户端。因为发送数据和接收数据都经过TCP/IP Monitor,所以它才能捕获数据。

 

服务端:监视发送到服务端到数据

服务器在运行,希望截获浏览器访问服务器的包。

如捕获访问URL="http://10.36.24.5:8999/TestPro/MyServlet"的包。

 

Tcp/ipMonitor的配置如下:


Eclipse学习系列 -- TCP/IP Monitor_第3张图片
 Local monitoriing port:Tcp/Ip本地监视端口

 Host name:要访问服务器IP

 Port:要访问服务器IP

 Type:协议类型

 

启动监视器,在浏览器中输入以下URL:

 

http://127.0.0.1:7878/TestPro/MyServlet

 注意:这里使用的IP和端口都是Tcp/Ip Monitor所在服务器的IP(这里是本机127.0.0.1)和监视端口7878(即Local monitoriing port)

 

启动监视器,访问服务器URL,可以捕获截获的包,捕获的图和第一部分相似,不再上图。

 

整个TCP/IP工作流程如下:工作流程和上面"监视客户端发送指定服务器的TCP内容"相似,浏览器不直接访问服务端,而是将数据先发送到TCP/IP Monitor,然后TCP/IP Monitor再将数据发送的服务端;服务端处理完数据后,再将数据返回给TCP/IP Monitor,TCIP/IP再将处理后的数据转给客户端。因为发送数据和接收数据都经过TCP/IP Monitor,所以它才能捕获数据。

 

你可能感兴趣的:(eclipse)