banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Tính ip checksum như thế nào  XML
  [Programming]   Tính ip checksum như thế nào 04/02/2008 09:38:34 (+0700) | #1 | 113462
hoanglinh9466
Member

[Minus]    0    [Plus]
Joined: 21/05/2007 23:44:11
Messages: 16
Offline
[Profile] [PM]
Em dùng wireshark để bắt 1 gói tin tcp, xem thì thấy ip header của nó thế này: 45 00 00 30 2a 31 40 00 80 06 4d 43 c0 a8 01 02 c0 a8 01 01
4d 43 là checksum
Em dùng code này để tính checksum (đã thay 4d 43 = 00 00)
Code:
unsigned short in_cksum(unsigned short * addr, int len)
{
int nleft = len;
unsigned short *w = addr;
int sum = 0;
unsigned short answer = 0;

while (nleft > 1) {
sum += *w++;
nleft -= 2;
}

if (nleft == 1) {
*(BYTE *) (&answer) = *(BYTE *) w;
sum += answer;
}

sum = (sum >> 16) + (sum & 0xffff);
sum += (sum >> 16);
answer = ~sum;

return (answer);
}

Nhưng nó lại không ra là 4d 43. Có phải code trên bị sai ko ??
[Up] [Print Copy]
  [Question]   Re: Tính ip checksum như thế nào 04/02/2008 11:17:28 (+0700) | #2 | 113468
hoanglinh9466
Member

[Minus]    0    [Plus]
Joined: 21/05/2007 23:44:11
Messages: 16
Offline
[Profile] [PM]
ALO, có ai không giúp em với !!!
[Up] [Print Copy]
  [Question]   Re: Tính ip checksum như thế nào 11/02/2008 23:38:23 (+0700) | #3 | 114246
[Avatar]
ngoalong
HVA Friend

Joined: 22/03/2003 04:33:38
Messages: 111
Offline
[Profile] [PM]
http://www.sics.se/~adam/uip/index.php/Download

bạn down cái uIP IP stack này về xem code của nó nhé. Khi dùng chú ý kiểu biến, độ dài và thứ tự byte order thì mới ra kết quả đúng. Tôi đã từng dùng source này và kết quả rất chính xác.

Chúc năm mới gặp nhiều thành đạt và may mắn.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|