linux-l: 2 Fragen: a) Webbrowser b) Portscanner programmieren

Henrik Hempelmann henrik at hempelmann.com
So Feb 20 19:46:35 CET 2000


On Sun, Feb 20, 2000 at 06:35:59PM +0100, Oliver Bandel wrote:
> Hi!

Moin,
fuer wen sind denn die Hausaufgaben?
> 
> 
> Frage 1: Wenn man einen GUI-basierten Browser programmiert,
>          wo liegt der meiste Aufwand?
>          
Das hängt davon ab ...  

>          Annahme: Es ist das parsen des HTML und Umsetzen
>          in Bildschirmdarstellung.
>          Kann man das als Antwort so stehen lassen?

Was macht ein Browser sonst noch? In Summe macht wahrscheinlich
das ganze Drumherum, wie Handbuch, Marketing, Support den
dicksten Aufwand - aber danach war wahrscheinlich nicht gefragt.
> 
>          (Das Umsetzen in Bildschirmdarstellung scheint
>          mir auf den ersten Blick das einzige zu sein, was
>          etwas heftiger zu sein scheint.)

Ein dickes Problem ist das Parsen von HTML - kaum eine Webseite
ist konformes HTML und will trotzdem ordentlich angezeigt werden,
das Nachbauen der Fehler der beiden bekannten Browser und die
wirklich exakte Darstellung wie die beiden bekannten Browser.

Das ist erheblicher Aufwand und dauert ewig, ein einfacher Browser,
der standardkonformes HTML halbwegs sinnvoll anzeigen kann ist
dagegen ein Klacks.
>          
> 
> Frage 2: Machen Portscanner für Sicherheitschecks eigentlich
>          mehr, als nur zu gucken, ob ein connect(2) auf einen
>          Port erfolgreich ist (von der Ausgabe der Ergebnisse
>          mal abgesehen)?

Jein,
sie machen schon ein connect(2) um zu sehen, ob da wer lauert,
bessere Portscanner tricksen aber im TCP um sich evtl. durch eine
Firewall durchzuschummeln.

man nmap
       ....
       supports a large number of scanning  techniques  such  as:
       UDP, TCP connect(), TCP SYN (half open), ftp proxy (bounce
       attack), Reverse-ident, ICMP (ping sweep), FIN, ACK sweep,
       Xmas  Tree,  SYN sweep, and Null scan. 
       ....

und dazu den Stevens in die andere Hand.

	Henrik



Mehr Informationen über die Mailingliste linux-l