有人说现在的程序员成了组装工人,其实很有道理,利用控件模块+少量代码就可以实现,delphi 5.0提供了丰富的inte.net控件,利用tcp/ip客户端-服务端就可以解决问题。 关键的控件是serversocket,我们模仿iphunter的界面用一个button1(按钮),一个combobox1(用于显示),这三个最基本的控件放置到空白窗体上就可以开始写代码了。
首先,这个combobox1必须能显示多个ip,我们定一个变量y来累加combobox1.items[y],
var y:integer;
我们的思路如下,当serversocket活动的port(端口)收到基于tcp/ip协议的连结请求时候,返回对方的ip值,传递给combobox显示出来。由button1控制serversocket的激活,也就是打开关闭端口。
我们在serversocket的on clientconnect事件中加入一下代码
procedure tform1.serversocket11clientconnect(sender: tobject;
socket: tcustomwinsocket);
begin
combobox1.items.insert(y,'');//加入一条空纪录
combobox1.items[y]:=socket.remoteaddress;//获取对方的ip
label1.text:='共捕获'+inttostr(y+1)+'个ip';//用一个标签来显示一共抓了多少ip
y:=y+1;//计数变量加1
socket.close;
end;
现在,将button1的caption属性设置为 '开始',在它的单击事件中加入以下代码
procedure tform1.speedbutton7click(sender: tobject);
begin
if speedbutton7.caption='开始' then
begin
serversocket11.port:=80;//这句可以在serversocket属性中设定,捕获浏览器的连接
serversocket11.active:=true;//激活端口
speedbutton7.caption:='停止';
end
else
begin
serversocket11.active:=false;//关闭端口
speedbutton7.caption:='开始';
combobox1.clear;//结束捕获,清空历史信息
y:=0;//计数变量复位
end;
end;
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器