bbs > xiù tàn
mùlù
No. 1
   xiù tàn sniff。 xiù tàn qiè tīng wǎng luò shàng liú jīng de shù bāo
   yòng xiàn hub jiàn de wǎng luò shì gòng xiǎng de yuán de
   wǎng nèi suǒ yòu de suàn jiē shōu xiāng tóng de shù bāo
   ér wǎng gòu zào liǎo yìng jiàn de guò
   tōng guò shí bié mac zhǐ guò diào guān de xìn
   xiù tàn chéng zhǐ guān zhè guò
   jiāng wǎng shè zhì wéihùn shìjiù jìn xíng xiù tàn
   yòng jiāo huàn switch jiàn de wǎng luò shì jiāo huànyuán de
  , jiāo huàn shì shù bāo dào suǒ yòu de duān kǒu shàng
   ér shì dào mùdì wǎng suǒ zài de duān kǒu
   zhè yàng xiù tàn lái huì fán xiē xiù tàn chéng bān yòng“ arp piànde fāng
  , tōng guò gǎi biàn mac zhǐ děng shǒu duàn piàn jiāo huàn jiāng shù bāo gěi
   xiù tàn fēn wán zài zhuǎn chū
   qián yán
  sniff zhēn shì lǎo de huà guān zài wǎng luò shàng cǎi yòng sniff lái huò mǐn gǎn xìn jīng shì shénme xīn xiān shì hěn duō chéng gōng de 'àn me, sniff jiū jìng shì shénme ? sniff jiù shì xiù tàn jiù shì qiè tīng , sniff jìng qiǎo qiǎo de gōng zuò zài wǎng luò de céng de quán xià láikàn guò wēi 'ěr shǐ yǎn dequán mín gōng ? sniff jiù xiàng miàn jīng qiǎo de qiè tīng yàngràng fáng shèng fáng
  sniff shì ruǎn jiàn shì yìng jiàn rán shì ruǎn jiàn jiù yào fēn píng táiyòu windows xià de、 unxi xià de děngyìng jiàn de sniff chēng wéi wǎng luò fēn fǎn zhèng guǎn yìng jiàn ruǎn jiàn biāo zhǐ yòu jiù shì huò zài wǎng luò shàng chuán shū de zhǒng xìn běn wén jǐn jǐn jiè shào ruǎn jiàn de sniff。
   dāng shū shì de zuò zài jiā qiè de xiǎng shòu wǎng luò gěi dài lái de biàn shōu de email, gòu mǎi huān de pǐn de shí hòu shì fǒu huì xiǎng dào de péng yǒu gěi de xìn jiàn de xìn yòng zhàng hào biàn chéng liǎo yòu de xìn bāo zài wǎng luò shàng tíng de chuán sòng zhe shì fǒu céng jīng zhè xiē xìn bāo huì tōng guò wǎng luò liú bié rén de de dān yōu shì méi yòu dào deyīn wéi sniff ràng de dān yōu biàn chéng shí shí zài zài de wēi xiǎnjiù hǎo xiàng rén duǒ zài shēn hòu tōu kàn yàng。。。。。。
   èr wǎng luò chǔ zhī shí
  “ wǎng luò chǔ zhī shí shì shì tīng lái yòu diǎn páo liǎosuī rán tīng lái zhè men yào tán de sniff méi shí me guān shì hái shì yào shuō shuō dewàn zhàng gāo lóu píng guǒ lián dōuméi hǎozěn me gài lóu?! guǒ duì wǎng luò hái shì shí fēn qīng chǔ de huàzuì hǎo néng jìng xià xīn lái hǎohǎo kàn kànyào zhī dàozhè shì chǔ de chǔzài zhè zhǐ shì jiǎn dān de shuō xiàmiǎn dào shí hòu yòu rén xiáng de zuì hǎo néng gòu zhǎo shū kàn kàn
  ( 1) tcp/ip jié gòu
   kāi fàng tǒng lián( osi) xíng jiāng wǎng luò huàfēn wéi céng xíngfēn bié yòng zài céng shàng shí xiàn tóng de gōng néngzhè céng fēn bié wéiyìng yòng céngbiǎo shì cénghuì huà céngchuán shū céngwǎng luò céngshù liàn céng céngér tcp/ip tóng yàng zūn xún zhè céng biāo zhǔnzhǐ guò zài mǒu xiē osi gōng néng shàng jìn xíng liǎo suōjiāng biǎo shì céng huì huà céng bìng yìng yòng céng zhōngsuǒ shí shàng men jiāo dào de tcp/ip jǐn jǐn yòu 5 céng 'ér wǎng luò shàng de fēn céng jié gòu jué dìng liǎo zài céng shàng de xié fēn gōng néng shí xiàncóng 'ér jué dìng liǎo céng shàng wǎng luò shè bèi de shǐ yòngshí shàng hěn duō chéng gōng de tǒng dōushì osi xíng de zhēn zhōng 、 atm、 isdn děng
  tcp/ip de wǎng luò jié gòu fēn
   cóng shàng miàn de zhōng men kàn chū céng céng 'èr céng shù liàn céng shì tcp/ip de chǔér tcp/ip běn shēn bìng shí fēn guān xīn céngyīn wéi chù zài shù liàn céng de wǎng luò shè bèi dòng chéng jiāng shàng céng de xié shí de jiē kǒu kāi láiwǎng luò shè bèi dòng chéng wèi jiè zhì fǎng wèn céng (mac) ( 2) wǎng luò shàng de shè bèi  zhōng zhōng de zhù yào gōng néng shì zhōng jié wǎng duàn de xìn hào bìng zài lìng wǎng duàn zài shēng gāi xìn hào huàjiù shì jiǎn dān de fàng 'ér gōng zuò zài céng shàng
   wǎng qiáowǎng qiáo shǐ yòng mac zhǐ shí xiàn zhōng gōng néng yòng lái fēn wǎng duàn huò lián jiē fēn zhǒng wǎng luògōng zuò zài shù liàn céng
   yóu yóu shǐ yòng wǎng luò céng zhǐ (ip,x.121,e.164 děng ), zhù yào shù bāo de yóu xún jìng néng chǔlǐ céng shù liàn céng shàng de gōng zuò
   wǎng guānzhù yào gōng zuò zài wǎng luò céng shàngzhù yào shí xiàn shōu liǎn gōng néng xié zhuǎn huàn guò hěn duō shí hòu wǎng guān dōubèi yòng lái miáo shù rèn wǎng luò lián shè bèi
  ( 3) tcp/ip tài wǎng
   tài wǎng tcp/ip shuō shì xiāng xiāng chéng de shuō liǎng zhě de guān jīhū shì fēn tài wǎng zài 'èr céng gōng shàng de lián xiànér tcp/ip gōng zuò zài shàng céngshǐ yòng 32 wèi de ip zhǐ tài wǎng shǐ yòng 48 wèi de mac zhǐliǎng zhě jiànshǐ yòng arp rarp xié jìn xíng xiāng zhuǎn huàncóng men shàng miàn tcp/ip de xíng zhōng qīng chǔ de kàn dào liǎng zhě de guān
   zài jiān tīng / chōng jiǎn (csma/cd) shù bèi biàn de shǐ yòng zài tài wǎng zhōngsuǒ wèi zài jiān tīng shì zhǐ zài tài wǎng zhōng de měi zhàn diǎn yòu tóng děng de quán zài chuán shū de shù shíshǒu xiān jiān tīng xìn dào shì fǒu kòngxián guǒ kòngxiánjiù chuán shū de shù guǒ xìn dào bèi zhàn yòngjiù děng dài xìn dào kòngxiánér chōng jiǎn shì wèile fáng zhǐ shēng liǎng zhàn diǎn tóng shí jiān dào wǎng luò méi yòu bèi shǐ yòng shí 'ér chǎn shēng chōng tài wǎng cǎi yòng guǎng zhìsuǒ yòu wǎng luò lián jiē de gōng zuò zhàn dōukě kàn dào wǎng luò shàng chuán de shù
   wèile jiā shēn de jiě men lái kàn kàn xià miàn de diǎn xíng de zài tài wǎng zhōng shǐ yòng tcp/ip xié de tōng xìn
   tài wǎng
   suō suō liǎo zhè me duōyòu rén fán liǎo xiāng xìn zhè shì chǔ de chǔ shuō shì shuō shì hěn jiǎn dān guǒ yào chū shí wàn lái shuō shàng miàn de nèi róng xiǎng xián duōhǎo liǎoràng men jìn xià jié, sniff de yuán
   sān sniff de yuán
   yào zhī dào zài tài wǎng zhōngsuǒ yòu de tōng xùn dōushì guǎng de jiù shì shuō tōng cháng zài tóng wǎng duàn de suǒ yòu wǎng luò jiē kǒu dōukě fǎng wèn zài méi shàng chuán shū de suǒ yòu shù ér měi wǎng luò jiē kǒu dōuyòu wéi de yìng jiàn zhǐzhè yìng jiàn zhǐ jiù shì wǎng de mac zhǐ duō shù tǒng shǐ yòng 48 de zhǐzhè zhǐ yòng lái biǎo shì wǎng luò zhōng de měi shè bèi bān lái shuō měi kuài wǎng shàng de mfc zhǐ dōushì tóng deměi wǎng chǎng jiā dào duàn zhǐrán hòu yòng zhè duàn zhǐ fēn pèijǐ shēng chǎn de měi wǎng zhǐzài yìng jiàn zhǐ ip zhǐ jiànshǐ yòng arp rarp xié jìn xíng xiāng zhuǎn huàn
   zài zhèng cháng de qíng kuàng xià wǎng luò jiē kǒu yīnggāi zhǐ xiǎng yìng zhè yàng de liǎng zhǒng shù zhēn
  1. yìng jiàn zhǐ xiāng pèi de shù zhēn。  2. xiàng suǒ yòu de guǎng shù zhēn
   zài shí de tǒng zhōngshù de shōu shì yóu wǎng lái wán chéng dewǎng jiē shōu dào chuán shū lái de shù wǎng nèi de dān piàn chéng jiē shōu shù zhēn de mùdì mac zhǐgēn suàn shàng de wǎng dòng chéng shè zhì de jiē shōu shì pàn duàn gāi gāi jiē shōurèn wéi gāi jiē shōu jiù jiē shōu hòu chǎn shēng zhōng duàn xìn hào tōng zhī cpu, rèn wéi gāi jiē shōu jiù diū diào guǎnsuǒ gāi jiē shōu de shù wǎng jiù jié duàn liǎo suàn gēn běn jiù zhī dào。 cpu dào zhōng duàn xìn hào chǎn shēng zhōng duàncāo zuò tǒng jiù gēn wǎng de dòng chéng shè zhì de wǎng zhōng duàn chéng zhǐ diào yòng dòng chéng jiē shōu shù dòng chéng jiē shōu shù hòu fàng xìn hào duī zhàn ràng cāo zuò tǒng chǔlǐér duì wǎng lái shuō bān yòu zhǒng jiē shōu shì
   guǎng fāng shìgāi shì xià de wǎng néng gòu jiē shōu wǎng luò zhōng de guǎng xìn 。  fāng shìshè zhì zài gāi shì xià de wǎng néng gòu jiē shōu shù
   zhí jiē fāng shìzài zhè zhǒng shì xiàzhǐ yòu mùdì wǎng cái néng jiē shōu gāi shù hùn shìzài zhè zhǒng shì xià de wǎng néng gòu jiē shōu qiē tōng guò de shù ér guǎn gāi shù shì fǒu shì chuán gěi de
   hǎo liǎoxiàn zài men zǒng jié xiàshǒu xiān men zhī dào liǎo zài tài wǎng zhōng shì guǎng fāng shì chuán sòng shù de jiù shì shuōsuǒ yòu de xìn hào dōuyào jīng guò de zài wǎng zhì zhǒng shì jiào hùn shì( promiscuous), zài zhè zhǒng shì xià gōng zuò de wǎng néng gòu jiē shōu dào qiē tōng guò de shù ér guǎn shí shàng shù de mùdì zhǐ shì shì zhè shí shàng jiù shì men sniff gōng zuò de běn yuán ràng wǎng jiē shōu qiē suǒ néng jiē shōu de shù
   men lái kàn jiǎn dān de suǒ shì a、 b、 c xiàn hub xiāng lián jiē xiàn hub tōng guò yóu router fǎng wèn wài wǎng luòzhè shì hěn jiǎn dān hěn cháng jiàn de qíng kuàng shuō zài gōng lóu suǒ zài de wǎng luò bàn gōng shì de tái tōng guò xiàn lián jiēér wǎng luò kāi shì chǎng shì tóng yàng mén de xiàn tōng guò yóu lián jiēhái shì huí dào men de shàng láizhí zhù de diǎn shì a、 b、 c shǐ yòng tōng de hub lián jiē de shì yòng switch, shì yòng router, shǐ yòng switch router de qíng kuàng yào zhè duō
   men jiǎ shè xià a shàng de guǎn yuán wèile wéi c, shǐ yòng liǎo ftp mìng lìng xiàng c jìn xíng yuǎn chéng dēng me zài zhè yòng hub lián jiē de wǎng luò shù zǒu xiàng guò chéng shì zhè yàng deshǒu xiān a shàng de guǎn yuán shū de dēng c de ftp kǒu lìng jīng guò yìng yòng céng ftp xié chuán shū céng tcp xié wǎng luò céng ip xié shù liàn céng shàng de tài wǎng dòng chéng céng céng de bāo guǒzuì hòu sòng dào liǎo céng men de wǎng xiàn shàngjiē xià lái shù zhēn sòng dào liǎo hub shàngxiàn zài yóu hub xiàng měi jiē diǎn guǎng yóu a chū de shù zhēn b jiē shōu dào yóu hub guǎng chū de shù zhēnbìng jiǎn chá zài shù zhēn zhōng de zhǐ shì fǒu de zhǐ xiāng pèi xiàn shì xiàng de hòu zhè shù zhēn diū cǎiér c jiē shōu dào liǎo shù zhēnbìng zài jiào zhī hòu xiàn shì xiàn dejiē xià lái jiù duì zhè shù zhēn jìn xíng fēn chǔlǐ
   zài shàng miàn zhè jiǎn dān de zhōng b shàng de guǎn yuán guǒ hěn hǎo hěn xiǎng zhī dào jiū jìng dēng c shàng ftp kǒu lìng shì shénme me yào zuò de hěn jiǎn dānjǐn jǐn yào shàng de wǎng zhì hùn shìbìng duì jiē shōu dào de shù zhēn jìn xíng fēn cóng 'ér zhǎo dào bāo hán zài shù zhēn zhōng de kǒu lìng xìn
   zuò de sniff
   zài shàng jié men jīng zhī dào liǎo sniff de běn yuán shì zěn me huí shìzhè jié men lái qīn dòng shǒu zuò de sniff, jìngyòng chéng dài lái shuō huà shénme dōuyào lái zhēn shí róng jiā shēn jiě
   huí tóu xiǎng xiǎng men shàng miàn shuō de yuán men yào zuò de shì qíng yòu jiàn
  1. wǎng zhì hùn shì。   2. huò shù bāo。   3. fēn shù bāo
   zhùxià miàn de yuán dài zhì chadrenfro de <<basicpacket-snifferconstructionfromthegroundup>> wén zhōng
  /************************tcp_sniff_2.c********************/
  1.#include
  2.#include
  3.#include
  4.#include
  5.#include
  6.#include
  7.#include
  8.#include
  9.#include"headers.h"
  #defineinterface"eth0"
    /*prototypearea*/
  10.intopen_raw_socket(void);
  11.intset_promisc(char*interface,intsock);
  12.intmain(){
  13.intsock,bytes_recieved,fromlen;
  14.charbuffer[65535];
  15.structsockaddr_infrom;
  16.structip*ip;
  17.structtcp*tcp;
  18.sock=open_raw_socket();
  19.set_promisc(interface,sock);
  20.while(1)
  22.{
  23.fromlen=sizeoffrom;
  24.bytes_recieved=recvfrom(sock,buffer,sizeofbuffer,0,(structsockaddr*)&from,&fromlen);
  25.printf("
  bytesreceived:::%5d
  ",bytes_recieved);
  26.printf("sourceaddress:::%s
  ",inet_ntoa(from.sin_addr));
  27.ip=(structip*)buffer;
  /*seeifthisisatcppacket*/
  28.if(ip->ip_protocol==6){
  29.printf("ipheaderlength:::%d
  ",ip->ip_length);
  30.printf("protocol:::%d
  ",ip->ip_protocol);
  31.tcp=(structtcp*)(buffer+(4*ip->ip_length));
  32.printf("sourceport:::%d
  ",ntohs(tcp->tcp_source_port));
  33.printf("destport:::%d
  ",ntohs(tcp->tcp_dest_port));
  34.}
  35.}
  36.}
  37.intopen_raw_socket(){
  38.intsock;
  39.if((sock=socket(af_inet,sock_raw,ipproto_tcp))<0){
  /*thenthesocketwasnotcreatedproperlyandmustdie*/
  40.perror("therawsocketwasnotcreated");
  41.exit(0);
  42.};
  43.return(sock);
  44.}
  45.intset_promisc(char*interface,intsock){
  46.structifreqifr;
  47.strncpy(ifr.ifr_name,interface,strnlen(interface)+1);
  48.if((ioctl(sock,siocgifflags,&ifr)==-1)){
  /*couldnotretrieveflagsfortheinterface*/
  49.perror("couldnotretriveflagsfortheinterface");
  50.exit(0);
  51.}
  52.printf("theinterfaceis:::%s
  ",interface);
  53.perror("retrievedflagsfrominterfacesuccessfully");
  54.ifr.ifr_flags|=iff_promisc;
  55.if(ioctl(sock,siocsifflags,&ifr)==-1){
  /*couldnotsettheflagsontheinterface*/
  56.perror("couldnotsetthepromiscflag:");
  57.exit(0);
  58.}
  59.printf("settinginterface:::%s:::topromisc",interface);
  60.return(0);
  61.}
  /***********************eof**********************************/
   shàng miàn zhè duàn chéng zhōng yòu hěn xiáng de zhù jiě guò xiǎng hái shì yòu yào shuō shuōshǒu xiān 10 xíng --intopen_raw_socket(void);  shì men de dìng hán shù nèi róng xià
  37.intopen_raw_socket(){
  38.intsock;
  39.if((sock=socket(af_inet,sock_raw,ipproto_tcp))<0){
  /*thenthesocketwasnotcreatedproperlyandmustdie*/
  40.perror("therawsocketwasnotcreated");
  41.exit(0);
  42.};
  43.return(sock);
  44.}
  
   39 xíng if((sock=socket(af_inet,sock_raw,ipproto_tcp))<0){
   zhè men diào yòng liǎo socket hán shùshǐ chuàng jiàn liǎo liǎo yuán shǐ tào jiē kǒushǐ zhī shōu dào tcp/ip xìn bāo
   jiē xià lái 11 xíng -intset_promisc(char*interface,intsock), zhè shì men de dìng hán shùmùdì shì wǎng zhì hùn shì nèi róng xià
  45.intset_promisc(char*interface,intsock){
  46.structifreqifr;
  47.strncpy(ifr.ifr_name,interface,strnlen(interface)+1);
  48.if((ioctl(sock,siocgifflags,&ifr)==-1)){
  /*couldnotretrieveflagsfortheinterface*/
  49.perror("couldnotretriveflagsfortheinterface");
  50.exit(0);
  51.}
  52.printf("theinterfaceis:::%s
  ",interface);
  53.perror("retrievedflagsfrominterfacesuccessfully");
  54.ifr.ifr_flags|=iff_promisc;
  55.if(ioctl(sock,siocsifflags,&ifr)==-1){
  /*couldnotsettheflagsontheinterface*/
  56.perror("couldnotsetthepromiscflag:");
  57.exit(0);
  58.}
  59.printf("settinginterface:::%s:::topromisc",interface);
  60.return(0);
  61.}
   shǒu xiān structifreqifr; dìng liǎo ifrreg de jié gòu ifr, jiē xià lái strncpy(ifr.ifr_name,interface,strnlen(interface)+1);, jiù shì men wǎng luò shè bèi de míng tián chōng dào ifr jié gòu zhōngzài zhè #defineinterface"eth0", ràng men zài wǎng xià kàn ,ioctl(sock,siocgifflags,&ifr),siocgifflags qǐng qiú biǎo shì yào huò jiē kǒu biāo zhìxiàn zài dào liǎo 54 xíngzài men chéng gōng de huò jiē kǒu biāo zhì hòu shè zhì chéng hùn shì, ifr.ifr_flags|=iff_promisc;ioctl(sock,siocsifflags,&ifr)。 ok, xiàn zài men suǒ shuō de jīng wán chéng -------- wǎng zhì hùn shì
   xiàn zài jìn 'èr huò shù bāocóng 20 xíng kāi shǐ men jìn liǎo xún huán, while(1), zài 24 xíng, recvfrom(sock,buffer,sizeofbuffer,0,(structsockaddr*)&from,&fromlen), zhè hán shù yào zuò de jiù shì jiē shōu shù bīng jiē shōu dào de shù fàng buffer zhōngjiù shì zhè me jiǎn dān jīng wán chéng liǎo men yào huò shù bāo de rèn
   dào liǎo sān fēn shù bāo。 27 xíng, ip=(structip*)buffer, shǐ men zài tóu wén jiàn zhōng de ip jié gòu duì yìng suǒ jiē shōu dào de shù jiē xià lái pàn duàn zài wǎng luò céng zhōng shì fǒu shǐ yòng de shì tcp xié , if(ip->ip_protocol==6), guǒ 'àn shì, tcp xìn bāo cóng zhěng ip/tcp bāo buffer+(4*ip->ip_length) zhǐ chù kāi shǐsuǒ 31 xíng tcp=(structtcp*)(buffer+(4*ip->ip_length)), rán hòu duì yìng jié gòu suǒ yào de xìn shū chū
  /*************************headers.h**************************/
  /*structureofanipheader*/
  structip{
  unsignedintip_length:4;/*little-endian*/
  unsignedintip_version:4;
  unsignedcharip_tos;
  unsignedshortip_total_length;
  unsignedshortip_id;
  unsignedshortip_flags;
  unsignedcharip_ttl;
  unsignedcharip_protocol;
  unsignedshortip_cksum;
  unsignedintip_source;unsignedintip_dest;
  };
  /*structureofatcpheader*/
  structtcp{
  unsignedshorttcp_source_port;
  unsignedshorttcp_dest_port;
  unsignedinttcp_seqno;
  unsignedinttcp_ackno;
  unsignedinttcp_res1:4,/*little-endian*/
  tcp_hlen:4,
  tcp_fin:1,
  tcp_syn:1,
  tcp_rst:1,
  tcp_psh:1,
  tcp_ack:1,
  tcp_urg:1,
  tcp_res2:2;
  unsignedshorttcp_winsize;
  unsignedshorttcp_cksum;
  unsignedshorttcp_urgent;
  };
  /*********************eof***********************************/
   cóng shàng miàn de fēn men qīng chǔ de rèn shí dàorèn shí sniff yào duì tcp/ip xié yòu zhe xiáng de liǎo jiěfǒu gēn běn zhǎo dào yào de xìn yòu liǎo shàng miàn de chǔ lái zuò yào de sniff liǎo
xiàngguāncí
diàn nǎo shù wǎng luò gōng liú liàng chá kàn jiān tīng zhàng zhěn duàn sniffer xìng néng fēn xiù tàn gōng
bāo hán cí
xiù tàn xiù tàn zhě