Boy your wife must have time on her hand ;) -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Whiting Sent: Wednesday, May 16, 2007 8:19 PM To: LDS Open Source Software Subject: Re: [Ldsoss] Fireside talk on the Internet
On Tue, May 15, 2007 at 01:19:30PM -0500, Stacey wrote: > I have been asked to give a fireside talk to educate parents > on what they should know about the Internet and how to protect > their children. I am sure this group has lots of good ideas, > web links, and maybe even a presentation they gave on a > similar subject they would like to share. I would especially > like to hear about Windows based solutions and ideas because > for me and my house, we run Macs. In fact, I have been pretty > much Windows free for about 7 years. I do use Parallels > Desktop for the Mac to run PAF (since it only comes in the > Windows flavor). We use an approach that probably wouldn't work for 99% of the world - but it works well for us. I have a linux box that provides routing for the entire house. On it I run a simple script that sniffs the web traffic and creates a log of all of the http requests. Once a day my wife runs a cgi script that displays every image that anyone has accessed. Everyone in the house knows that whatever they look at, mom will see too. Unfortunately, the script doesn't work for https requests. #!/usr/bin/perl use Net::Pcap; use Net::PcapUtils; use NetPacket::Ethernet qw(:strip); use NetPacket::IP; use NetPacket::TCP; use Socket; use Fcntl ':flock'; use POSIX qw(strftime); # only allow one of these to run at a time... open(LOCK,">>.http-lock") || die "open: $!\n"; flock(LOCK,LOCK_EX|LOCK_NB) || exit; $*=1; # multiline $cap=Net::PcapUtils::open(SNAPLEN=>1600,FILTER=>"dst port 80") || warn $err,$cap,"\n"; $hdr={}; while($pkt=Net::Pcap::next($cap,$hdr)) { my $eth_obj = NetPacket::Ethernet->decode($pkt); my $ip_obj = NetPacket::IP->decode($eth_obj->{data}); my $tcp_obj = NetPacket::TCP->decode($ip_obj->{data}); $_=$tcp_obj->{data}; if(($cmd,$url)=/^(GET|PUT|POST)\s+(\S*)/) { $src=$ip_obj->{src_ip}; ($host)=/Host:\s*(\S*)/; $file=strftime("%Y-%m-%d",localtime($hdr->{tv_sec})); $tm=strftime("%Y/%m/%d %T",localtime($hdr->{tv_sec})); `echo \"$hdr->{tv_sec} $tm $src http://$host$url\" >>$file.log`; } } send me a note if anyone wants the cgi script. _______________________________________________ Ldsoss mailing list Ldsoss@lists.ldsoss.org http://lists.ldsoss.org/mailman/listinfo/ldsoss _______________________________________________ Ldsoss mailing list Ldsoss@lists.ldsoss.org http://lists.ldsoss.org/mailman/listinfo/ldsoss