"Telegraf" - e-mail uden internet

God dag!

Jeg vil gerne dele nogle interessante tanker med fællesskabet om at skabe en selvstændig decentral e-mail og demonstrere, hvordan en eksisterende implementering fungerer i praksis.

I første omgang blev "Telegraph" udviklet som et amatørmiddel til kommunikation mellem medlemmer af vores lille studentersamfund, som på den ene eller anden måde helligede sine aktiviteter til computerteknologi og kommunikation.

Nota Bene: "Telegraf" er et amatørkommunikationsmiddel; Det virker ret problematisk at opnå praktiske fordele i industriel skala, men dette problem kan næppe kaldes væsentligt i nogen grad - vi anser vores hovedmål for direkte at tiltrække opmærksomhed på udviklingen af ​​denne form for kommunikationssystemer.

Vi er tilbøjelige til at tro, at stigende generel interesse for udviklingen af ​​forskellige kommunikationssystemer er nødvendig og ret vigtig, fordi forståelsen af ​​de grundlæggende principper for, hvordan disse systemer fungerer, og hvad de er baseret på, er hovednøglen til at øge borgernes bevidsthed om informationssikkerhed. problemer.

"Telegraf" - e-mail uden internet

Achtung!For at undgå mulige misforståelser kan du i nogle tilfælde rulle gennem billederne:
"Telegraf" - e-mail uden internet

Systemet er baseret på frivillige og ren entusiasme – vi kan bare lide det, vi laver. Du kan betragte dette som en hobby, og du vil ikke tage fejl - trods alt er der stadig elskere af kommunikation gennem brug af papirkorrespondance; "Telegraf" kan i de fleste tilfælde repræsenteres som en digital implementering af principperne for almindelig post.

Telegraph er en selvstændig analog af e-mail, der giver dig mulighed for at sende simple tekstbeskeder uden at bruge internettet. "Telegraf" i en eller anden grad kan henføres til sneakernet - en måde at udveksle information på uden at bruge et netværk.

Flashdrev bruges som postkasser, og terminaler - computere, som er unikke adgangspunkter til modtagelse og transmission af elektronisk korrespondance - fungerer som postkontorer.

Lad os overveje det enkleste eksempel på interaktion med systemet. Vi har to flashdrev og en terminal på lager. Selve scriptet indeholder de nødvendige globale variabler til efterfølgende interaktion med systemet - terminalnummer, sti til roden osv.

Hvis vi tilslutter et flytbart drev til terminalen og kører scriptet, vil det forsøge at modtage udgående beskeder fra mappen /mnt/Telegraph/Udbakke og overfør dem til din hukommelse, og tjek derefter for nye beskeder i din hukommelse for den nuværende bruger. Hvis der er nogen, så skriv dem ned /mnt/Telegraph/Indbakke.

Registrering af nye enheder

Det sker ret tilfældigt. Scriptet finder nye flashdrev, der er forbundet til systemet og forsøger at matche deres unikke ID'er med dem, der vises i roden. Hvis enheder ikke tidligere er blevet registreret, vil de blive formateret i overensstemmelse med reglerne angivet af Telegraph.

Efter registrering af en ny enhed har rodstrukturen følgende form:

Vis indlæg på imgur.com

I konfigurationsfilen config.ini, placeret i roden af ​​flashdrevet, er der systemoplysninger - en unik identifikator og en hemmelig nøgle.

Vis indlæg på imgur.com

Giv folket noget rom!

Nej, virkelig, seriøst! Du kan få kilderne her, og det er på tide, at vi langsomt bevæger os fra teori til praksis.

Men jeg skal sige et par ord mere om, hvordan beskedsystemet fungerer i praksis.

Lad os først finde ud af, hvad en elleve-cifret unik identifikator består af. F.eks, 10455000001.

Det første ciffer 1, er ansvarlig for landenummeret. International kode - 0, Rusland i dette tilfælde - 1.

Dernæst kommer fire cifre, der er ansvarlige for nummeret på den region, hvor terminalen er placeret. 0455 er bydelen Kolomna.

De efterfølges af to tal - 00, - direkte ansvarlig for terminalnummeret.

Og kun derefter - fire cifre, som er serienummeret på den bruger, der er tildelt denne terminal. Vi har denne - 0001. Der er også 0000 — dette nummer hører direkte til selve terminalen. Du kan ikke sende skriftlig korrespondance til den, men terminalen selv bruger dette nummer til at sende servicebeskeder til brugere. For eksempel hvis beskeden af ​​en eller anden grund ikke kunne leveres.

Vis indlæg på imgur.com

I roden af ​​vores "postkasse" er der to mapper, der er nødvendige for at modtage og sende tekstbeskeder. Når en enhed er tilsluttet terminalen, sendes udgående beskeder til serveren fra "Udbakke"-biblioteket, og indgående beskeder indlæses i "Indbakke"-biblioteket, hvilket er logisk.

Hver fil, afhængigt af biblioteket, navngives efter modtager- eller afsendernummeret.

Hvis vi forsøger at sende en besked til en ikke-eksisterende modtager, sender terminalen os en fejlmeddelelse.

Vis indlæg på imgur.com

Men hvis vi beslutter at sende et brev til en adressat på en anden terminal (uanset om det eksisterer eller ej), vil det blive registreret i terminalens hukommelse, før agenten overfører den skriftlige korrespondance fra vores terminal til sin.

Vis indlæg på imgur.com

Når filialagenten 10500000000 (med andre ord, postbuddet) vil forbinde sin enhed til vores terminal, udgående breve vil blive overført til hans drev. Efterfølgende, når han tilslutter sin enhed til sin terminal, vil disse bogstaver blive dumpet i terminalens hukommelse og vil vente på, at modtageren downloader dem til sit flashdrev.

Kommunikationssession

Lad os prøve at sende en besked med teksten "Hej!" fra 10455000001 к 10455000002.

Vis indlæg på imgur.com

Det er alt!

Jeg vil med glæde modtage enhver kritik af projektets kildekode og selve artiklen.

Tak for din opmærksomhed.

Kilde: www.habr.com

Tilføj en kommentar