परिचय –

लगभग 1 साल पहले, मैं पर्ल CGI आवेदन में सत्र और कुकी को लागू करने के लिए एक बहुत संघर्ष किया. ऐसा करने के लिए आप के साथ अपने काम सभी शेयर सोचा.
मैं इसे अपने तरीके से करना चाहता था …

धारणा है, अपने वेब सर्वर यानी अपेक को CGI स्क्रिप्ट चलाने के लिए सक्षम है

Step 1] Write Auth.pm Perl module –

Please simply copy following Auth.pm perl module for authentication using Session and Cookies…

[root@arun ~]# cat /var/application/module/Auth.pm

package Auth;

### Subroutine to authenticate user
sub  User
{
my ($ref_page) = (@_);
### Session information
my $sid = $ref_page->cookie(“APP_SID”) || undef;
my $session = CGI::Session->load(undef,$sid);
if ( $session->is_expired ) { print $ref_page->redirect(-location => ‘../arun.html’);}
elsif ( $session->is_empty) { print $ref_page->redirect(-location => ‘../arun.html’);}
else { print $ref_page->header();}
# don’t forget to create dir ‘/var/tmp’
# with proper ownership/permission
#$session = new CGI::Session(undef, $sid, {Directory=>’/var/tmp’});
#################################################
return($session->param(‘login_user’));
}

1;
[root@arun ~]#

Step 2] authe_me.pl –

authe_me.pl file is used to set cookies and verify username/password. You may use MySQL DB to store username and password.
In this case you have to this file…

[root@arun ~]# cat /var/application/www/cgi-bin/auth_me.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth; ## our module

### Header
########################
my $page = CGI->new();
##print $page->header();

##########
if ( $ENV{REQUEST_METHOD} eq “POST” )
{
my %form;
my $session_dir=”/var/tmp”;
my ($admin_user,$admin_password) = (“admin”,”arun123″);

foreach my $key (param()) { $form{$key} = param($key);}
##
if (($form{username}) && ($form{password}))
{

### Session Details ###
CGI::Session->name(“APP_SID”);
## Create new session
my $session = new CGI::Session(undef, undef, {Directory=>$session_dir});
## Set cookies
my $cookie = $page->cookie(-name=>$session->name(),-value=>$session->id(),-expires=>’+2h’,-path=>’/’);
## Store data in session variable and save it
$session->param(‘login_user’,$form{username}); # OR
##$session->param(-name=>’login_user’,-value=>$form{username});
$session->save_param($page, [“login_user”]);

## Session and Cookie expiration time is SAME.
$session->expire(“+2h”);
#### Session Details end ####

## if login successful redirect to main.pl else login page
if (($form{username} eq $admin_user) and ($form{password} eq $admin_password))
{ print $page->redirect(-location => ‘main.pl’,-cookie=>$cookie);}
else { print $page->redirect(-location => ‘../arun.html’); }
############################
} else { print $page->redirect(-location => ‘../arun.html’); }
}

[root@arun ~]#

Step 3] Create Login Page –

[root@arun ~]# cat /var/application/www/arun.html
<html>
<title>Arun Login Page</title>

<!– Form start –>
<table align=’center’ border=’1′>
<form method=”POST” action=”cgi-bin/auth_me.pl”>
<tr>
<td><label>Login</label></td>
<td><input name=”username” type=”text”></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input name=”password” type=”password”><br/></td>
</tr>
<tr>
<td><input value=”Submit” type=”submit”></td>
</tr>

</form>
</table>

</html>

[root@arun ~]#

Step 4] Create main page where Session and Cookie authentication verified – main.pl

[root@arun ~]# cat /var/application/www/cgi-bin/main.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth;

### Header
my $page = CGI->new();
## check authentication
my $login_name=Auth::User($page);
###
print $page->start_html( -title=>’Arun Main Page’);

print “<h3>This is Main Page</h3></br>”;
print “<br>Login Name – $login_name”;

#end
[root@arun ~]#

Step 5] Please access login page and try http://your_ipaddr/arun.html

Thank you,
Arun Bagul

(0) Comments    Read More   

परिचय –

विलंबता नेटवर्क और बैंडविड्थ दो सबसे हित के होने की संभावना मीट्रिक्स हैं जब आप बेंचमार्क एक नेटवर्क. हालांकि अधिकांश सेवा और उत्पाद विज्ञापन समय पर बैंडविड्थ, पर केंद्रित एक अधिक विलंबता मीट्रिक महत्वपूर्ण हो सकता है.

** क्या बैंडविड्थ है?

बैंडविड्थ (BW) कंप्यूटर नेटवर्किंग में डेटा एक नेटवर्क कनेक्शन या अंतरफलक के द्वारा समर्थित दर को दर्शाता है. BW प्रति सेकंड बिट (bps) के संदर्भ में मापा जाता है.

** क्या नेटवर्क विलंबता है?

विलंबता समय में देरी का एक उपाय एक प्रणाली में अनुभव होता है. नेटवर्क विलंबता बस के रूप में समय में देरी एक बिंदु से डाटा संचारित रूप में एक और करने के लिए मनाया परिभाषित किया गया है. वहाँ कारकों की है कि नेटवर्क विलंबता में योगदान का एक नंबर रहे हैं. इन ट्रांसमिशन में शामिल हैं (संपर्क के माध्यम), दूरस्थ Routers, और कंप्यूटर हार्डवेयर देरी.

नेटवर्क  और बैंडविड्थ का परीक्षण करने के लिए परियोजनाओं (टूल्स) की सूची –

1) bmon – बैंडविड्थ की निगरानी और, यह आधारित सांत्वना है दर अनुमानक, BW रहते हैं
2) bwbar – पाठ और ग्राफ़िकल में बैंडविड्थ उपयोग प्रारूप
) BWM-एनजी 3 – बैंडविड्थ की निगरानी एनजी (अगली पीढ़ी, BW रहते हैं, आधारित सांत्वना
4) dstat – Dstat vmstat iostat, और ifstat के लिए एक प्रतिस्थापन है.
5) iftop – एक अंतरफलक पर बैंडविड्थ उपयोग, आधारित सांत्वना
6) iperf – प्रदर्शन नेटवर्क throughput परीक्षणों दो मेजबान शर्त
7) ifstat – रिपोर्ट इंटरफ़ेस सांख्यिकी
8) सीबीएम – रंग बैंडविड्थ मीटर, आधारित सांत्वना
9) etherape – ग्राफिकल नेटवर्क यातायात ब्राउज़र
10) iptraf – इंटरएक्टिव रंगीन आईपी लैन मॉनिटर कंसोल, और GUI आधारित
11) netmrg – यह आधारित डेमॉन, mySQL समर्थन, उपकरणों से इकट्ठा डेटा है.
12) nuttcp – नेटवर्क प्रदर्शन मापन उपकरण
13) nepim

नोट उनमें से कुछ के लिए rpm या देब संकुल ~ उपलब्ध नहीं हैं!

कदम 1]  RedHat / RHCE, CentOS और Dibian आधारित प्रणाली पर स्थापित करने के लिए  –

root@me:~# yum install netperf iperf nuttcp nepim lmbench

** Ubuntu –

root@me:~# apt-get install  bmon bwbar bwm-ng dstat cbm etherape iftop iperf ifstat iptraf netmrg

कदम 2]  bmon, BWM-एनजी, dstat, ifstat का उपयोग कैसे करें   –

root@me:~# bmon

interface: lo at me.arun.world

#   Interface                RX Rate         RX #     TX Rate         TX #
───────────────────────────────────────────────────────────────────────────────
me.arun.host (source: local)
0   lo                         0.00B            0       0.00B            0
1   eth0                       0.00B            0       0.00B            0
2   eth2                       0.00B            0       0.00B            0
3   vboxnet0                   0.00B            0       0.00B            0
4   pan0                       0.00B            0       0.00B            0
5   ppp0                      69.39KiB         61       7.49KiB         44

root@me:~# bwm-ng

bwm-ng v0.6 (probing every 0.500s), press ‘h’ for help
input: /proc/net/dev type: rate
\         iface                   Rx                   Tx                Total
==============================================================================
lo:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth0:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth2:           0.00 KB/s            0.00 KB/s            0.00 KB/s
ppp0:          64.39 KB/s            7.92 KB/s           72.31 KB/s
——————————————————————————
total:          64.39 KB/s            7.92 KB/s           72.31 KB/s

root@me:~# dstat
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
7   4  85   4   0   0| 281k  110k|   0     0 |   0     0 | 865  3013
8   4  88   0   0   0|   0     0 |7027B 1261B|   0     0 | 956  4505
8   5  86   0   0   0|   0     0 |  14k 1867B|   0     0 |1144  3332
9   5  86   0   1   0|   0     0 |  79k 2496B|   0     0 |1360  3366
18   8  74   0   0   0|   0     0 |  52k 6511B|   0     0 |1299  3618
8   6  85   0   1   0|   0     0 |  35k 5339B|   0     0 |1094  4231
6   4  90   0   0   0|   0     0 |   0  3164B|   0     0 | 953  2750 ^C
root@me:~#

root@me:~# ifstat
eth0                eth2                ppp0
KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
0.00      0.00      0.00      0.00     95.73      4.31
0.00      0.00      0.00      0.00     67.93      8.17
0.00      0.00      0.00      0.00    106.77     13.70

** “iperf” – होस्ट (ए) और होस्ट (ब) सर्वर पर, दो मेजबान के बीच नेटवर्क throughput को मापने के लिए.

* Host -A

root@me:~# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————
[  4] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 56171
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec

* Host -B
test@hostB:~$ iperf -c 192.168.0.1
————————————————————
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 49.5 KByte (default)
————————————————————
[  3] local 192.168.0.2 port 56171 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec
test@hostB:~$

root@me:~# iftop
root@me:~# cbm

धन्यवाद,
अरुण

(0) Comments    Read More   

www.flickr.com
arunbagul's photos More of arunbagul's photos
Get Adobe Flash player
-->