2012-03-23 9 views
0

Ich möchte ein Perl-Skript schreiben, in dem ich ein Objekt von einem Webserver herunterlade und die Anzahl der Pakete zähle, bis das ganze Objekt heruntergeladen ist. Ich dachte daran, rohe Steckdosen in Perl zu verwenden. Eine andere Alternative wäre, libpcap in Perl zu verwenden, aber das erfordert Root-Zugriff (glaube ich), den ich vermeiden möchte.Perl zählt die Anzahl der Pakete in einer Verbindung

Gibt es eine einfachere Möglichkeit, das zu tun?

Danke,

+1

Was haben Sie versucht? – Cfreak

+0

Ich habe nichts versucht, ich frage mich nur, was wäre der einfachste Ansatz zu nehmen – Amir

+0

Was ist der Zweck dieser? – ikegami

Antwort

1

Raw Sockets und libpcap benötigen beide Root-Zugriff (oder CAP_NET_ADMIN), so dass weder der Vorteil hat.

In der Tat könnte die Raw-Sockets Ansatz etwas sauberer als die libpcap Ansatz, aber es erfordert, dass Sie Ihre eigenen TCP-Stack von Grund auf neu schreiben. Da Sie dies mit ziemlicher Sicherheit nicht tun möchten, empfehle ich den libpcap-Ansatz. Ein anderer Ansatz könnte sein, iptables zum Zählen von Paketen zu verwenden, aber es ist nicht portierbar (erfordert Linux) und es entfernt immer noch nicht die Root-Zugriffsanforderung.

Verwandte Themen