zhandh123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-03
  • 最后登录2005-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1610回复:5

显示IP问题

楼主#
更多 发布于:2005-06-03 12:11
想既显示源IP地址又显示目的IP地址
unsigned char proto;              //8位协议 (1->ICMP, 2->IGMP, 6->TCP, 17->UDP)
unsigned short checksum;          //16位IP首部校验和
unsigned short H_sourceIP;        //32位源IP地址
unsigned short L_sourceIP;
unsigned short H_destIP;          //32位目的IP地址         unsigned short L_destIP;

}IP_PACKET, *P_IP_PACKET;
P_IP_PACKET pkt = (P_IP_PACKET)pThis->psharememory;
struct in_addr temp1,temp2;
temp1.S_un.S_un_w.s_w1 = pkt->H_sourceIP;
temp1.S_un.S_un_w.s_w2 = pkt->L_sourceIP;
temp2.S_un.S_un_w.s_w1 = pkt->H_destIP;
temp2.S_un.S_un_w.s_w2 = pkt->L_destIP;

pThis->AddRow(inet_ntoa(temp1), \"TCP\",inet_ntoa(temp2), \"拦截\");
但是inet_ntoa(temp2)和inet_ntoa(temp1)的IP地址一样,难道被覆盖了?
该怎么解决呢
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-06-04 09:28
啊,版面没弄好~~~~~~~~

再问个问题:
我拦截UDP数据包(如我的IP是211.80.203.86)
拦截到如下数据包
源IP地址           目的IP地址         协议
211.80.205.103     211.80.203.86     UDP (发给我的数据包)
211.80.205.103     255.255.255.255   UDP (广播信息)
211.80.205.163     211.80.203.255    UDP (这个目的IP是?)
211.80.205.103     210.80.205.127    UDP (这个我怎么也拦截了?)
211.80.203.97      210.80.203.255    UDP (包不是发给我的吧)

你是哪拦截的,如果是ndis hook或者imd,你可以看看以太网的目的地址,猜测可能和多播,组播有关
zhandh123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-03
  • 最后登录2005-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-04 08:47
啊,版面没弄好~~~~~~~~

再问个问题:
我拦截UDP数据包(如我的IP是211.80.203.86)
拦截到如下数据包
源IP地址           目的IP地址         协议
211.80.205.103     211.80.203.86     UDP (发给我的数据包)
211.80.205.103     255.255.255.255   UDP (广播信息)
211.80.205.163     211.80.203.255    UDP (这个目的IP是?)
211.80.205.103     210.80.205.127    UDP (这个我怎么也拦截了?)
211.80.203.97      210.80.203.255    UDP (包不是发给我的吧)
zhandh123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-03
  • 最后登录2005-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-03 23:05
再问个问题:
我拦截UDP数据包(如我的IP是211.80.203.86)
拦截到如下数据包
源IP地址          目的IP地址      协议  
211.80.205.103    211.80.203.86    UDP   (发给我的数据包)
211.80.205.103    255.255.255.255  UDP   (广播信息)
211.80.205.163    211.80.203.255   UDP   (这个目的IP是?)
211.80.205.103    210.80.205.127   UDP   (这个我怎么也拦截了?)
211.80.203.97     210.80.203.255   UDP    


zhandh123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-03
  • 最后登录2005-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-03 22:43
谢斑竹大人:)
问题已经解决
不过指出你个笔误,是
pThis->AddRow(buffer1, \"TCP\",buffer2, \"拦截\");

zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2005-06-03 13:27
先确认一下你的destip,sourceip确实不等。
 
inet_ntoa用的是内部的一个buff,确实可能后面的覆盖前面的,
你可以strcpy(buffer1,inet_ntoa(temp1));
strcpy(buffer2,inet_ntoa(temp2));
pThis->AddRow(inet_ntoa(temp1), \"TCP\",inet_ntoa(temp2), \"拦截\");
肯定不会有被覆盖的可能性了。
游客

返回顶部