Jump to content

Dr4k3

Active Members
  • Posts

    427
  • Joined

  • Last visited

Posts posted by Dr4k3

  1. Mutati daca nu am pus la rubrice potrivita :D

    porturile is :

    TCP 1 Breach.2001, SocketsDeTroie.230, SocketsDeTroie.250

    TCP 28 Amanda.200

    TCP 31 MastersParadise.920

    TCP 68 Subseven.100

    TCP 142 NetTaxi.180

    TCP 146 Infector.141, Intruder.100, Intruder.100

    TCP 171 ATrojan.200

    TCP 285 WCTrojan.100

    TCP 286 WCTrojan.100

    TCP 334 Backage.310

    TCP 370 NeuroticKat.120, NeuroticKat.130

    TCP 413 Coma.109

    TCP 420 Breach.450

    TCP 555 Id2001.100, PhaseZero.100, StealthSpy.100

    TCP 623 Rtb666.160

    TCP 660 Zaratustra.100

    TCP 661 Noknok.800, Noknok.820

    TCP 666 BackConstruction.210, BackConstruction.250, Bla.100, Bla.200, Bla.400, Bla.503, Cain.150, Dimbus.100, Noknok.820, Ripper.100, SatansBackdoor.100, SatansBackdoor.101, SatansBackdoor.102, Unicorn.100, Unicorn.101, Unicorn.110

    TCP 667 SniperNet.210, Snipernet.220

    TCP 668 Unicorn.101, Unicorn.110

    TCP 680 Rtb666.160

    TCP 777 Tiny.100, Undetected.230, Undetected.300, Undetected.310, Undetected.320, Undetected.330, Undetected.331, Undetected.332

    TCP 785 NetworkTerrorist.100

    TCP 800 NeuroticKitten.010

    TCP 831 NeuroticKat.100, NeuroticKat.120, NeuroticKat.130

    TCP 901 NetDevil.130, NetDevil.140

    TCP 1000 DerSpaeher.200

    TCP 1001 Silencer.100

    TCP 1008 AutoSpy.100

    TCP 1010 DerSpaeher.200

    TCP 1015 Doly.150

    TCP 1111 TPort.100

    TCP 1130 Noknok.800, Noknok.820

    TCP 1207 SoftWAR.100

    TCP 1243 Subseven.100, SubSeven.110, SubSeven.180, SubSeven.190, Subseven.200

    TCP 1245 VoodooDoll.006

    TCP 1269 Matrix.130

    TCP 1480 RemoteHack.130

    TCP 1568 RemoteHack.100, RemoteHack.110

    TCP 1600 DirectConnection.100

    TCP 1601 DirectConnection.100

    TCP 1602 DirectConnection.100

    TCP 1634 NetCrack.100

    TCP 1784 Snid.120, Snid.212

    TCP 1999 TransmissionScout.100, TransmissionScout.110

    TCP 2000 ATrojan.200, InsaneNetwork.400

    TCP 2001 DIRT.220, TrojanCow.100

    TCP 2003 TransmissionScout.100, TransmissionScout.110

    TCP 2023 RipperPro.100

    TCP 2040 InfernoUploader.100

    TCP 2115 Bugs.100

    TCP 2140 DeepThroat.100, DeepThroat.200, DeepThroat.310

    TCP 2332 SilentSpy.202

    TCP 2589 Dagger.140

    TCP 2600 DigitalRootbeer.100

    TCP 2989 Rat.200

    TCP 3128 MastersParadise.970

    TCP 3129 MastersParadise.920, MastersParadise.970

    TCP 3150 DeepThroat.100, DeepThroat.200, DeepThroat.310, MiniBacklash.110

    TCP 3215 BlackStar.100, Ghost.230

    TCP 3333 Daodan.123

    TCP 3410 OptixPro.100, OptixPro.110

    TCP 3456 Force.155, TerrorTrojan.100

    TCP 3505 AutoSpy.130, AutoSpy.140

    TCP 3586 Snid.120, Snid.212

    TCP 3700 PortalOfDoom.100

    TCP 3723 Mantis.100

    TCP 3800 Eclypse.100

    TCP 3996 RemoteAnything.364

    TCP 4000 SkyDance.220, SkyDance.229

    TCP 4201 Wartrojan.160, Wartrojan.200

    TCP 4225 SilentSpy.202

    TCP 4321 Bobo.100

    TCP 4444 AlexTrojan.200, Crackdown.100

    TCP 4488 EventHorizon.100

    TCP 4523 Celine.100

    TCP 4545 InternalRevise.100, RemoteRevise.150

    TCP 4567 FileNail.100

    TCP 4666 Mneah.100

    TCP 4950 ICQTrojan.100

    TCP 5005 Aladino.060

    TCP 5025 Keylogger.WMRemote.100

    TCP 5031 NetMetro.104

    TCP 5032 NetMetro.104

    TCP 5033 NetMetro.104

    TCP 5050 RoxRat.100

    TCP 5151 OptixLite.020, OptixLite.030, OptixLite.040

    TCP 5190 MBomber.100

    TCP 5277 WinShell.400

    TCP 5343 WCRat.100

    TCP 5400 BackConstruction.120, BackConstruction.150, BladeRunner.080, DeepThroat.300

    TCP 5401 BackConstruction.120, BackConstruction.150, BackConstruction.210, BackConstruction.250, BladeRunner.080, DeepThroat.300, Mneah.100

    TCP 5402 BackConstruction.210, BackConstruction.250, BladeRunner.080, DeepThroat.300, Mneah.100

    TCP 5534 TheFlu.100

    TCP 5550 XTCP.200, XTCP.201

    TCP 5555 Noxcape.100, Noxcape.200

    TCP 5695 Assassin.100

    TCP 5714 WinCrash.100

    TCP 5741 WinCrash.100

    TCP 5742 WinCrash.103

    TCP 5802 Y3KRat.160

    TCP 5810 Y3KRat.160

    TCP 5838 Y3KRat.170

    TCP 5858 Y3KRat.110, Y3KRat.120, Y3KRat.140

    TCP 5880 Y3KRat.140

    TCP 5881 Y3KRat.110, Y3KRat.120, Y3KRat.140

    TCP 5882 Y3KRat.100, Y3KRat.110, Y3KRat.120, Y3KRat.140, Y3KRat.150

    TCP 5883 Y3KRat.110, Y3KRat.140

    TCP 5884 Y3KRat.140, Y3KRat.150

    TCP 5885 Y3KRat.110, Y3KRat.120, Y3KRat.140

    TCP 5886 Y3KRat.120, Y3KRat.140

    TCP 5887 Y3KRat.110, Y3KRat.120, Y3KRat.140

    TCP 5888 Y3KRat.100, Y3KRat.110, Y3KRat.120, Y3KRat.140, Y3KRat.150

    TCP 5889 Y3KRat.100, Y3KRat.110, Y3KRat.120, Y3KRat.140, Y3KRat.150

    TCP 5890 Y3KRat.140

    TCP 6400 Thething.100, Thething.150

    TCP 6556 AutoSpy.120, AutoSpy.122

    TCP 6655 Aqua.020

    TCP 6660 LameSpy.095

    TCP 6666 LameRemote.100, ProjectMayhem.100

    TCP 6669 Vampire.100

    TCP 6670 DeepThroat.200, DeepThroat.210

    TCP 6671 DeepThroat.310

    TCP 6699 HostControl.101

    TCP 6711 DeepThroat.300, Noknok.820, SubSeven.180, SubSeven.190

    TCP 6712 Subseven.100

    TCP 6713 Subseven.100

    TCP 6767 NTRC.120

    TCP 6776 SubSeven.180, SubSeven.190, Subseven.200

    TCP 6789 Doly.200

    TCP 6796 SubSeven.214

    TCP 6912 ShitHeep.100

    TCP 6939 Indoctrination.100

    TCP 6953 Lithium.100

    TCP 6969 2000Cracks.100, Bigorna.100, Danton.110, Danton.210, Danton.220, Danton.310, Danton.320, Danton.330, GateCrasher.110, NetController.108, Sparta.110, VagrNocker.120

    TCP 6970 Danton.330

    TCP 7001 Freak88.100

    TCP 7119 Massaker.100

    TCP 7200 Massaker.110

    TCP 7300 Coced.221

    TCP 7301 Coced.221

    TCP 7306 NetSpy.200, NetSpy.200

    TCP 7410 Phoenix.190, Phoenix.200

    TCP 7511 Genue.100

    TCP 7609 Snid.120, Snid.212

    TCP 7614 Wollf.130

    TCP 7648 BlackStar.100, Ghost.230

    TCP 7788 Last.2000, Matrix.200

    TCP 7826 MiniOblivion.010, Oblivion.010

    TCP 7887 SmallFun.110

    TCP 7891 Revenger.100

    TCP 7979 VagrNocker.200

    TCP 7997 VagrNocker.200

    TCP 8000 XConsole.100

    TCP 8011 Way.240

    TCP 8012 Ptakks.215, Ptakks.217

    TCP 8110 LoseLove.100

    TCP 8111 LoseLove.100

    TCP 8301 LoseLove.100

    TCP 8302 LoseLove.100

    TCP 8372 NetBoy.100

    TCP 8720 Connection.130

    TCP 8734 AutoSpy.110

    TCP 8811 Force.155

    TCP 8899 Last.2000

    TCP 9000 Aristotles.100

    TCP 9301 LoseLove.100

    TCP 9400 InCommand.100, InCommand.110, InCommand.120, InCommand.130, InCommand.140, InCommand.150, InCommand.153, InCommand.160, InCommand.167, InCommand.170

    TCP 9401 InCommand.100, InCommand.110, InCommand.170

    TCP 9402 InCommand.100, InCommand.110

    TCP 9561 CRatPro.110

    TCP 9563 CRatPro.110

    TCP 9580 TheefLE.100

    TCP 9696 Danton.210, Ghost.230

    TCP 9697 Danton.320, Danton.330, Ghost.230

    TCP 9870 R3C.100

    TCP 9872 PortalOfDoom.100

    TCP 9873 PortalOfDoom.100

    TCP 9874 PortalOfDoom.100

    TCP 9875 PortalOfDoom.100

    TCP 9876 Rux.100, SheepGoat.100

    TCP 9877 SmallBigBrother.020

    TCP 9878 SmallBigBrother.020, TransmissionScout.100, TransmissionScout.110, TransmissionScout.120

    TCP 9879 SmallBigBrother.020

    TCP 9999 ForcedEntry.100, Infra.100, Prayer.120, Prayer.130, TakeOver.200, TakeOver.300

    TCP 10001 DTr.130, DTr.140

    TCP 10013 Amanda.200

    TCP 10067 PortalOfDoom.100

    TCP 10100 Gift.240

    TCP 10101 NewSilencer.100

    TCP 10167 PortalOfDoom.100

    TCP 10528 HostControl.100, HostControl.260

    TCP 10607 Coma.109

    TCP 10666 Ambush.100

    TCP 11011 Amanda.200

    TCP 11050 HostControl.101

    TCP 11051 HostControl.100, HostControl.260

    TCP 11223 AntiNuke.100, Progenic.100, Progenic.110

    TCP 11225 Cyn.100, Cyn.103, Cyn.120

    TCP 11306 Noknok.800, Noknok.820

    TCP 11831 Katux.200, Latinus.140, Latinus.150, Pest.100, Pest.400

    TCP 11991 PitfallSurprise.100

    TCP 12043 Frenzy.2000

    TCP 12345 Fade.100, Netbus.160, Netbus.170, VagrNocker.400

    TCP 12346 Netbus.160, Netbus.170

    TCP 12348 Bionet.210, Bionet.261, Bionet.280, Bionet.302, Bionet.305, Bionet.311, Bionet.313, Bionet.316, Bionet.317

    TCP 12349 Bionet.084, Bionet.261, Bionet.280, Bionet.302, Bionet.305, Bionet.311, Bionet.313, Bionet.314, Bionet.316, Bionet.317, Bionet.401, Bionet.402

    TCP 12389 KheSanh.210

    TCP 12478 Bionet.210

    TCP 12623 Buttman.090, Buttman.100

    TCP 12624 Buttman.090, Buttman.100

    TCP 12625 Buttman.100

    TCP 12904 Akropolis.100, Rocks.100

    TCP 13473 Chupacabra.100

    TCP 13753 AFTP.010

    TCP 14100 Eurosol.100

    TCP 14194 CyberSpy.840

    TCP 14286 HellDriver.100

    TCP 14500 PCInvader.050, PCInvader.060, PCInvader.070

    TCP 14501 PCInvader.060, PCInvader.070

    TCP 14502 PCInvader.050, PCInvader.060, PCInvader.070

    TCP 14503 PCInvader.050, PCInvader.060, PCInvader.070

    TCP 14504 PCInvader.050, PCInvader.060

    TCP 15092 HostControl.100, HostControl.260

    TCP 15382 SubZero.100

    TCP 15432 Cyn.210

    TCP 15555 ICMIBC.100

    TCP 16322 LastDoor.100

    TCP 16484 MoSucker.110

    TCP 16661 Dfch.010

    TCP 16969 Progenic.100

    TCP 16982 AcidShiver.100

    TCP 17300 Kuang.200

    TCP 17499 CrazzyNet.370, CrazzyNet.375, CrazzyNet.521

    TCP 17500 CrazzyNet.370, CrazzyNet.375, CrazzyNet.521

    TCP 17569 Infector.141, Infector.160, Infector.170, Infector.180, Infector.190, Infector.200, Intruder.100, Intruder.100

    TCP 17593 AudioDoor.120

    TCP 19191 BlueFire.035, BlueFire.041

    TCP 19604 Metal.270

    TCP 19605 Metal.270

    TCP 19991 Dfch.010

    TCP 20000 Millenium.100

    TCP 20001 Millenium.100, PshychoFiles.180

    TCP 20002 AcidKor.100, PshychoFiles.180

    TCP 20005 MoSucker.200, MoSucker.210, MoSucker.220

    TCP 21212 Schwindler.182

    TCP 21554 Exploiter.100, Exploiter.110, Girlfriend.130, GirlFriend.135

    TCP 21579 Breach.2001

    TCP 21584 Breach.2001

    TCP 21684 Intruse.134

    TCP 22068 AcidShiver.110

    TCP 22115 Cyn.120

    TCP 22222 Prosiak.047, Ruler.141, Rux.300, Rux.400, Rux.500, Rux.600

    TCP 22223 Rux.400, Rux.500, Rux.600

    TCP 22456 Bla.200, Bla.503

    TCP 22457 AcidShiver.120, Bla.200, Bla.503

    TCP 22784 Intruzzo.110

    TCP 22845 Breach.450

    TCP 22847 Breach.450

    TCP 23005 Infinaeon.110, NetTrash.100, Oxon.110, WinRat.100

    TCP 23006 Infinaeon.110, NetTrash.100, Oxon.110, WinRat.100

    TCP 23032 Amanda.200

    TCP 23432 Asylum.010, Asylum.012, Asylum.013, Asylum.014, MiniAsylum.110

    TCP 23456 EvilFTP.100, VagrNocker.400

    TCP 23476 DonaldDick.153, DonaldDick.154, DonaldDick.155

    TCP 23477 DonaldDick.153

    TCP 24000 Infector.170

    TCP 24307 Wildek.020

    TCP 25386 MoonPie.220

    TCP 25486 MoonPie.220

    TCP 25555 FreddyK.100, FreddyK.200

    TCP 25556 FreddyK.100

    TCP 25685 MoonPie.010, MoonPie.012, MoonPie.130, MoonPie.220, MoonPie.240, MoonPie.400

    TCP 25686 MoonPie.135, MoonPie.200, MoonPie.400

    TCP 25982 MoonPie.135, MoonPie.200

    TCP 26274 Delta.050

    TCP 27160 MoonPie.135, MoonPie.200

    TCP 27184 Alvgus.100, Alvgus.800

    TCP 27374 Muerte.110, Subseven.210, SubSeven.213

    TCP 28429 Hack'a'Tack.2000

    TCP 28430 Hack'a'Tack.2000

    TCP 28431 Hack'a'Tack.2000

    TCP 28432 Hack'a'Tack.2000

    TCP 28433 Hack'a'Tack.2000

    TCP 28434 Hack'a'Tack.2000

    TCP 28435 Hack'a'Tack.2000

    TCP 28436 Hack'a'Tack.2000

    TCP 29559 DuckToy.100, DuckToy.101, Katux.200, Latinus.140, Latinus.150, Pest.100, Pest.400

    TCP 29891 Unexplained.100

    TCP 30000 Infector.170

    TCP 30001 Error32.100

    TCP 30003 LamersDeath.100

    TCP 30029 AOLTrojan.110

    TCP 30100 NetSphere.127, NetSphere.130, NetSphere.131

    TCP 30101 NetSphere.127, NetSphere.130, NetSphere.131

    TCP 30102 NetSphere.127, NetSphere.130, NetSphere.131

    TCP 30103 NetSphere.131

    TCP 30947 Intruse.134

    TCP 31320 LittleWitch.400, LittleWitch.420

    TCP 31337 BackOrifice.120, Khaled.100, OPC.200

    TCP 31415 Lithium.101

    TCP 31416 Lithium.100, Lithium.101

    TCP 31557 Xanadu.110

    TCP 31631 CleptoManicos.100

    TCP 31745 Buschtrommel.100, Buschtrommel.122

    TCP 31785 Hack'a'Tack.100, Hack'a'Tack.112

    TCP 31787 Hack'a'Tack.100, Hack'a'Tack.112

    TCP 31789 Hack'a'Tack.100, Hack'a'Tack.112

    TCP 31791 Hack'a'Tack.100, Hack'a'Tack.112

    TCP 31887 BDDT.100

    TCP 31889 BDDT.100

    TCP 32100 ProjectNext.053

    TCP 32418 AcidBattery.100

    TCP 32791 Akropolis.100, Rocks.100

    TCP 33291 RemoteHak.001

    TCP 33333 Blackharaz.100, Prosiak.047, SubSeven.214

    TCP 33577 SonOfPsychward.020

    TCP 34324 TelnetServer.100

    TCP 34763 Infector.180, Infector.190, Infector.200

    TCP 35000 Infector.190, Infector.200

    TCP 35600 Subsari.140

    TCP 36794 BugBear.100

    TCP 37237 Mantis.020

    TCP 37651 YAT.210

    TCP 37653 YAT.310

    TCP 40308 Subsari.140

    TCP 40412 TheSpy.100

    TCP 40421 MastersParadise.970

    TCP 40422 MastersParadise.970

    TCP 40999 DiemsMutter.110, DiemsMutter.140

    TCP 41626 Shah.100

    TCP 44444 Prosiak.070

    TCP 45673 Akropolis.100, Rocks.100

    TCP 47262 Delta.050

    TCP 48006 Fragglerock.200

    TCP 49683 HolzPferd.210

    TCP 50000 Infector.180

    TCP 50130 Enterprise.100

    TCP 50766 Fore.100

    TCP 51234 Cyn.210

    TCP 51966 Cafeini.080, Cafeini.110

    TCP 54321 PCInvader.010

    TCP 57341 NetRaider.100

    TCP 57922 Bionet.084

    TCP 58008 Tron.100

    TCP 58009 Tron.100

    TCP 59090 AcidReign.200

    TCP 59211 DuckToy.100, DuckToy.101

    TCP 59345 NewFuture.100

    TCP 60000 DeepThroat.300, MiniBacklash.100, MiniBacklash.101, MiniBacklash.101

    TCP 60411 Connection.100, Connection.130

    TCP 60412 Connection.130

    TCP 60552 RoxRat.100

    TCP 63536 InsaneNetwork.500

    TCP 63878 AphexFTP.100

    TCP 63879 AphexFTP.100

    TCP 64969 Lithium.100

    TCP 65000 Socket.100

    UDP 1 SocketsDeTroie.250

    UDP 666 Bla.200, Bla.400, Bla.503, Noknok.820

    UDP 1130 Noknok.800, Noknok.820

    UDP 2140 DeepThroat.100, DeepThroat.200, DeepThroat.310

    UDP 2989 Rat.200

    UDP 3128 MastersParadise.970

    UDP 3129 MastersParadise.920, MastersParadise.970

    UDP 3150 DeepThroat.100, DeepThroat.200, DeepThroat.310, MiniBacklash.110

    UDP 3333 Daodan.123

    UDP 3800 Eclypse.100

    UDP 3996 RemoteAnything.364

    UDP 4000 RemoteAnything.364

    UDP 5555 Daodan.123

    UDP 5881 Y3KRat.110, Y3KRat.140

    UDP 5882 Y3KRat.100, Y3KRat.110, Y3KRat.120, Y3KRat.140, Y3KRat.150

    UDP 5883 Y3KRat.110, Y3KRat.140

    UDP 5884 Y3KRat.140, Y3KRat.150

    UDP 5885 Y3KRat.110, Y3KRat.120, Y3KRat.140

    UDP 5886 Y3KRat.120, Y3KRat.140

    UDP 5887 Y3KRat.110, Y3KRat.120, Y3KRat.140

    UDP 5888 Y3KRat.100, Y3KRat.110, Y3KRat.120, Y3KRat.150

    UDP 6953 Lithium.100

    UDP 8012 Ptakks.217

    UDP 10067 PortalOfDoom.100

    UDP 10167 PortalOfDoom.100

    UDP 10666 Ambush.100

    UDP 11225 Cyn.100, Cyn.103, Cyn.120

    UDP 11306 Noknok.800, Noknok.820

    UDP 12389 KheSanh.210

    UDP 12623 Buttman.090, Buttman.100

    UDP 12625 Buttman.100

    UDP 14100 Eurosol.100

    UDP 23476 DonaldDick.155

    UDP 26274 Delta.050

    UDP 27184 Alvgus.100

    UDP 28431 Hack'a'Tack.2000

    UDP 28432 Hack'a'Tack.2000

    UDP 28433 Hack'a'Tack.2000

    UDP 28434 Hack'a'Tack.2000

    UDP 28435 Hack'a'Tack.2000

    UDP 28436 Hack'a'Tack.2000

    UDP 29891 Unexplained.100

    UDP 30103 NetSphere.131

    UDP 31320 LittleWitch.400, LittleWitch.420

    UDP 31337 BackOrifice.120, OPC.200

    UDP 31416 Lithium.100, Lithium.101

    UDP 31789 Hack'a'Tack.100, Hack'a'Tack.112

    UDP 31791 Hack'a'Tack.100, Hack'a'Tack.112

    UDP 33333 Blackharaz.100

    UDP 47262 Delta.050

    UDP 49683 HolzPferd.210

    UDP 60000 MiniBacklash.100

  2. Some of the new Linux users are running their machines as dual boot with Windows. Mounting NTFS partitions in Linux as read-only has always been a rather challenging task. Mounting them as with read-write permissions is even harder, not to mention that this feature has been made available since a little while ago. Keep in mind that the support for mounting NTFS partitions with write permissions is still in the early stages and therefore, not perfectly secure. If you decide to give it a try, don't hold me responsible for any damage occurred to your hard-drive and/or to the files on it. You have been warned.

    For mounting NTFS partitions we're going to use a small tool called NTFS-3G, which is very powerful but yet, so simple.

    Install NTFS write support for Fedora Core 6

    - You'll need to be root for this guide. If you're already logged-in as root, skip typing su -

    - First, install ntfs-3g:

    CODE

    # su -

    # yum -y install ntfs-3g

    This will install ntfs-3g, fuse and fuse-libs

    - Create a folder to be used as mounting point for NTFS partition:

    CODE

    # mkdir /mnt/ntfs

    - Find out what's the NTFS partition. Type this command (the fdisk option is a small L):

    CODE

    # fdisk -l

    - Look for a line like this

    CODE

    /dev/hda3 * 14925 17218 18426555 c HTFS/NTFS

    /dev/hda3 is your NTFS partition. It could be /dev/sdaX if you have a S-ATA drive.

    - Edit /etc/fstab and add this line at the end so that the partition will be mounted at startup:

    - Remember to use your /device, /dev/hda3 is just an example.

    CODE

    /dev/hda3 /mnt/ntfs_p ntfs-3g defaults,umask=0 0 0

    - Disable SELinux. Edit /etc/selinux/config and change the line:

    CODE

    SELINUX=restrictive

    to

    CODE

    SELINUX=disabled

    or if you're a security paranoid and don't want to fully disable SELinux, change the line to:

    CODE

    SELINUX=permissive

    otherwise, mounting the partitions will fail.

    - Reboot and enjoy your NTFS partition in /mnt/ntfs_p

    Install NTFS write support for Ubuntu

    - Edit /etc/apt/sources.list and add the following repositories, which are suitable for you:

    If you're running Dapper, add:

    CODE

    deb http://givre.cabspace.com/ubuntu/ dapper main main-all

    deb http://ntfs-3g.sitesweetsite.info/ubuntu/ dapper main main-all

    deb http://flomertens.keo.in/ubuntu/ dapper main main-all

    If you're running Edgy, add:

    CODE

    deb http://givre.cabspace.com/ubuntu/ edgy main

    deb http://ntfs-3g.sitesweetsite.info/ubuntu/ edgy main

    deb http://flomertens.keo.in/ubuntu/ edgy main

    - Import the GPG key for these repositories:

    CODE

    # wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add -

    # wget http://givre.cabspace.com/ubuntu/givre_key.asc -O- | sudo apt-key add -

    - Update the source list:

    CODE

    # sudo apt-get update

    - Install ntfs-3g:

    CODE

    # sudo apt-get install ntfs-3g

    - Determine which is the NTFS partition. Type this command and look for the line ending with HTFS/NTFS. The fdisk option is a small L.

    CODE

    # fdisk -l

    - Create a directory where the NTFS partition will be mounted on:

    CODE

    # mkdir /media/ntfs_p

    - Add the following line to /etc/fstab file:

    CODE

    /dev/hda3 /media/ntfs_p ntfs-3g defaults,locale=en_US.utf8 0 0

    - If you want to change the locale option, type this command to find out which are supported by your system and pick the appropriate one:

    CODE

    # locale -a

    - Save the file and reboot.

  3. hanibal wrote: pai deci....ca sa tragi mai tare de pe odc....cumpara vreo 4 butoaie de nos ...si 2 le pui pe modem...si 2 pe monitor....eu am incercat asa..si am tras cu vreo 124 mb/s...ia sa incerci si tu! :@

    :D:D:D

    acu sa o luam serios...am gasit un program de dc care parca merge mai repede...da sincer tot odc recomand :D

  4. robib wrote: bai flipisor pune ma si u ddosul ala calumea ce naiba

    Edited Nemessis - si te-ai gandit tu sa postezi aici chestia asta? DA-I PRIVAT sau POSTEAZA PE TOPICUL RESPECTIV.

    1.Daca imi mai zici flipisor nu mai primesti nimic de la mine!!!numai prietenii imi zic asa tu n-ai ce face?

    2.O sa-l pun cand o sa fac rost de el din nou...ma rog...esti la inceput asa ca lasa ddos tool si invata sa faci tu unu singur:D

  5. Probabil ca nu este om in ziua de azi care n-a auzit de virusi. Contrar însa

    tuturor legendelor, virusii nu sunt niste fenomene supranaturale. ÃŽmi amintesc

    cum cineva m-a îtrebat o datã dacã e drept ce a auzit ea - cã virusii de calulator

    pot fi contactati dacã se fumeazã în birou... :) Imaginati-vã cum m-am simtit atunci.

    Nu-mi venea sã cred ce auzeau urechile - ori persoana îsi bateea joc de mine, ori

    era adînc în bezna necunostintii... Pînã la urmã ultima s-a dovedit a fi valabilã.

    Dar chiar si un cunoscãtor în ale calculatoarelor s-ar putea întreba într-o

    zi: cît de greu e sã scrii un virus ?

    Rãspunsul e simplu: este usor sã creezi un virus, alta e problema sã creezi un virus

    puternic.

    Sper cã intelegeti cã prin puternic, am invedere urmãtoarele lucruri:

    -virusul sa fie greu de detectat de programe antivirus

    -virusul sa fie fecund - adica sa se reproduca rapid, prin

    cãi diverse si inobservabil (asta apropo de unitatile de

    flopy-disk, care încep din senin sã lucreze :) ).

    Dar, cum eu sunt un om pasnic, si nu ma intereseaza sa fac altora rau,

    tema acestui tutorial va fi cu totul si cu totul neasteptata...

    Cum sa utilizam virusii in alte scopuri. De exemplu crackuirea programelor.

    Sau inversul- protejarea programelor. Desi acesti ultimi virusi, nu sunt virusi

    in adevaratul sens al cuvintului- adica le lipseste functia de reproducere.

    In crearea unui virus in fata noastra apare urmatoarea problema:

    -cum sa facem ca virusul sa coexiste cu programul infectat,

    sa-si indeplineasca sarcinile sale, dar sa lase si programul

    sa lucreze.

    Eu consider ca aceasta este principala caracteristica a unui virus,

    care odata implementata ofera posibilitatea ca virusul sa-si indeplineasca

    toate sarcinile sale, iar sarcinele pot fi:

    -autoreproducere

    -automodificrea

    -spionarea calculatorului gazdei

    -sarcini distructive, de santajare, etc

    (virusul poate sa va incripterze tot hardul si pina nu veti trimite

    1000$ pe contul xxxxxx, nu veti primi cheia de decriptare- sa nu

    ziceti ca eu v-am dat aceasta idee :) ).

    Acestea sunt sarcini pentru care sunt utilizati in mod obisnuit virusii.

    Dar de ce sa nu-i utilizam si in alte scopuri? Cuma ar fi de exemplu:

    -crackuirea unor programe

    -protejarea unor programe

    -adaugarea de functii noi programelor

    lista nu se incheie aici si sper ca voi o veti continua la nesfirsit.

    Sa vedem totusi cum poate fi infectat un program. Desigur ca tehnici

    exista multe, si sper ca pe viitor vor aparea pe pagina noatra noi

    eseuri pe aceasta tema. Pentru inceput sa ne punem insa o sarcina

    simpla- infectarea unui fisier executabil de tip COM. La aceasta faza,

    sa zicem, ca nu conteaza sarcina pe care acesta o va indeplini.

    Pentru inceput ajunge ca el sa ne ceara o parola pentru

    a executa acel program. Autoreproducerea, distrugerea, si santajul il las

    pe seama celor mai violenti. Din aceste functii ale virusului as spune ca

    doar autoreproducerea e un subiect demn de discutat, in rest orice prost

    poate sa-ti stearga hardul sau sa-ti violeze sectorul BOOT. Urasc pe cei

    violenti, deci nu vom discuta aceasta aici. Înca un lucru pe care îl urasc-

    sunt caii troian.

    Pentru a continua aveti nevoie de cunostinte minime de asembler, daca

    nu le aveti puteti doar sa va faceti o inchipuire vaga asupra ce vom

    discuta in continuare.

    Dupa cum sper ca stiti, fisierile COM sunt cele mai simple programe

    executabile sub DOS. Nu exista nimic complicat in faptul cum se

    incarca aceste programe in memorie.

    Principiul e simplu:

    ce vedeti ca se patreaza in fisierul COM acelasi lucru va fi incarcat

    in memorie, dupa care sistemul de operare va da control acelui program

    printr-un salt la adresa unde a fost incarcat programul.

    Repet- ceea ce se incarca in memorie este o replica exacta a ceea ce se

    pastreaza in fisier.

    Veti intreaba- oare nu e evident, oare nu e logic sa fie asa?

    Bine daca va ajuta cu ceva... la fisierele EXE lucrurile nu sunt

    chiar asa simple si daca schema de infectare pe care v-o propun

    se poate lauda cu faptul ca ocupa doar vreo 10-15 bytes (atentie,

    schema de infectare doar, fara sarcinele pe care le are virusul),

    atunci infectarea unui fisier EXE este cu mult mai anevoiasa.

    Fisierele COM nu pot depasi ca lungime 65536 bytes, adica exact

    portiunea de memorie ce poate fi adresata de un WORD(2 bytes). Toate jump-urile

    si call-urile intr-un fiser COM sunt de tip near, adica nu depasesc limita

    de memorie adresabila printr-un WORD. Iata ce face posibil ca programului

    sa-i fie indiferent in ce segment ruleaza el- atita timp cit adresele sunt

    codate ca adrese relative. Adica presupunem ca la adresa CS:200h aveti urmatoarea

    instructiune:

    CS:00000100 JMP 000060D7h ; code: E9 D4 5F

    CS:00000103 ...

    ... ...

    ... ...

    CS:000060D7 PUSH EAX

    ...

    Codul de la CS:00000200 si anume instructiunea JMP 300h va fi codata

    pe 3 bytes: E9 D4 5F

    E9 este codul instructiunii JMP care are ca argument un word,

    nu toate JMP-urile sunt codate cu E9, aceasta depinde de tipul

    argumentului- (constanta, registru, variabila) si de marimea lui (BYTE, WORD, DWORD).

    Dar ce naiba inseamna D4 5F? Ei bine, dupa cum stiti sau acus veti

    afla valorile WORD se pastreaza in memorie cu fundul in sus:

    D4 5F nu inseamna altceva decit 5FD4. Daca nu stiati acest lucru

    atuci acesta e un motiv in plus sa gasiti o carte buna de asembler :).

    Dar ce inseamna 5FD4? Ei bine, ajunge atita suspans-

    in contextul dat 5FD4 nu inseamna altceva decit 'sari la instructuiunea

    ce se afla cu 5FD4 bytes in jos dupa mine'. Observati formularea:

    cu 'cu 5FD4 bytes' si nu 'sari la...'. Cu alte cuvinte, daca inca

    n-ati priceput: 5DFD4 = 60D7 - 0103 .

    0103 este adrsa instructiunii ce urmeaza imediat dupa JMP-ul nostru,

    este logic - atita timp cit instructiunea noastra ocupa 3 bytes.

    Ca sa mai exersam un pic:

    CS:00000100 JMP 103h ; este codat ca E90000,

    dar va asigur ca compilatorul va optimiza acest cod

    prin:

    CS:00000100 JMPS 103h ; code: EB 01

    CS:00000102 NOP ; code: 90

    JMPS - este un JMP SHORT.

    Puteti sa va mai jucati cu aceste lucruri, si veti vedea

    ca nimic nu e intamplator in faptul cum codeaza asemblerul

    instructiunile voastre.

    Puteti sa scrieti aceste instructuiuni la adrese diferite

    direct din debuger si sa vedeti cum acesta le codeaza.

    Sa revenim insa la virusi si sa vedem in sfirsit banala

    schema de infectare a unui fisier COM.

    Va prezint probabil cea mai simpla schema existenta

    pina acum, pe care eu am elaborat-o si am folosit-o

    inca pe cind aveam vreo 15 ani :). Dar ca la majoritatea

    lucrurilor pe care le descoperi la aceasta virsta - iti

    dai seama ca ele deja de mult au fost inventate de altii,

    ba chiar se folosesc pe larg.

    ÃŽnainte de a infecta programul sa ne intrebam cind dorim

    sa intre in actiune codul virusului? Posibil ca

    doriti ca acest lucru sa se intimple inainte ca progrmul

    sa intre in actiune, dupa care sa dati controlul programului.

    Dar s-ar putea ca virusul sa intre in actiune la un moment dat

    in executia programului - de exemplu un virus care la un

    moment dat apas un buton pentru voi.

    Schema pe care v-o prezint este valabila pentru ambele

    cazuri. Noi insa il vom studia pentru simplitate pe primul.

    Cum se realizeaza implantarea virusului intr-un fisier COM?

    Veti fi tentati sa credeti ca acest lucru se poate realiza

    prin simpla inserare a codului virusului la locul dorit.

    De exemplu daca doriti ca virusul se execute la începutul

    programului- veþi insera codul virusului la începutul

    fisierului COM. Gresit. ÃŽncercati.

    Veti deplasa astfel tot codul programului cu un numar de

    bytes egal cu lungimea virusului.

    JUMP-urile relative vor ramîne valabile -este corect,

    dar nu si referintele la date. De exemplu daca ne referim

    la o adresa absoluta 500h unde se pastreaza o variabila,

    dupa inserarea codului viruslui care are de exemplu lungimea

    de 300h bytes, variabila noastra se va afla deja la adresa 800h.

    Nu uitati ca un fisier COM nu are un segment de

    date aparte. Datele si codul sunt pastrate la gramada,

    în acelasi segment. Este sarcina programatorului sa

    faca ca firul de executie al programului sa nu intre

    peste date. ÃŽn acest scop majoritatea programatorilor

    plaseaza datele la începutul programului, iar inaintea

    lor, un JMP care sare peste ele. Priviti:

    CS:00000100h JMP 0000700h ;Aici incepe programul, si imediat

    ... ... ;urmeaza datele

    ... DB 3,4,5,0 ;Aici se stocheaza datele

    ... ...

    CS:00000700H PUSH EAX ;Aici începe codul programului

    ... ...

    ... ...

    Deci, inserarea codului virusului la inceputul sau în interiorului

    programului nu este o solutie vitala. Pentru ca astfel corupem

    referintele la adrese absolute.

    Sa ne gîndim la altceva.

    V-ati gindit oare de ce v-am povestit atit de mult cum

    se codeaza instructiunea JMP ? ÃŽn curind veti afla.

    Ideea mea este de a scrie codul virusului la sfirsitul

    programului, si ca sa-l facem sa se execute inainte de

    a intra in actiune programul sa plasam la inceputul

    programului un JMP, care ne arunca exact la locul unde incepe

    codul viruslui (adica la sfirsitul programului).

    Cind am spus 'plasam un JMP la inceputul programului' am

    avut in vedere faptul ca instructiunea noastra (care ocupa 3 bytes)

    se suparascrie peste primii 3 bytes a porgramului astfel

    evitam deplasarea codului.

    Deaceea cind realizam infectarea acesti trei bytes trebuie

    memorati undeva printre datele virusului. Dupa ce virusul

    se executa, acesti bytes se restabilesc (adica se sterge

    JMP-ul nostru) si sarim din nou la inceputul programului.

    Programul va rula in pace. Doar daca virusul nostru n-a

    schimbat registri sau flag-uri de care programul nostru

    facea uz. Desi, la inceputul programului acest lucru e

    mai putin grav, fiti prudenti totusi si folositi instructiunile

    PUSHA, PUSHF la începutul codului virusullui si POPF, POPA la

    sfirsitul lui, pentru a salva/restabili registrii si flag-urile.

    Sa exemplificam. Avem urmatoarea tinta - programul TEST.COM.

    Dorim sa-l infectam.

    Fie:

    lungimea programului Lp= 1000h (4096 în zecimal) bytes

    lungimea virusului Lv= 0200h

    Prin urmare programul infectat va avea 1200h bytes.

    Am uitat sa va spun ca înainte de a fi rulat, unui program

    COM i se atribuie un segment de cod unde acesta va rula. Acesta

    se pastreaza în registrul CS. Numai ca, codul programului

    nu va fi încarcat în cadrul acestui segment de la adresa

    CS:00000000 cum s-ar putea sa credeti, ci de la adresa.

    CS:00000100, astfel se rezerva loc pentru asa numita zona

    PSP, unde printre alte lucruri interesante veti gasi si

    linia de comanda cu care ati rulat acest program.

    Mergem mai departe.

    Sa presupunem ca programul care trebuie infectat arata cam asa:

    Adresa: Codul: Instructiunea:

    ______________________________________________

    CS:00000100 50 PUSH EAX

    CS:00000101 B4 09 MOV AH,09h

    CS:00000103 BA 3B 01 MOV DX,013Bh

    ... ... ...

    ... ... ...

    ... ... ...

    ... ... ...

    CS:00001FFF 90 NOP ;Ultima instructiune

    -----------------------------------------------

    CS:00001100 ??? ??? ;Aici vom baga virusul

    Observam ca primii 3 bytes din acest program sunt: 50 B4 09.

    Atentie! Ei trebuie salvati cind realizam infectrea pentru

    ca peste ei vom scrie instructiunea JMP 01000h (care ocupa

    3 bytes).

    Iata cum va arata programul infectat:

    Adresa: Codul: Instructiunea:

    ______________________________________________

    CS:00000100 E9 FD 0F JMP 1100h ;sarim la virus

    CS:00000103 BA 3B 01 MOV DX,013Bh ;restul programului

    ... ... ... ;ramîne nemodificat

    ... ... ...

    ... ... ...

    ... ... ...

    CS:00001FFF 90 NOP ;Ultima instructiune

    ______________________________________________ ;din program

    CS:00001100 60 PUSHA ;Aici icepe virusul

    CS:00001101 9C PUSHF ;salvam registrii

    ... ... ... ;si flagurile.

    ... ... ... ; Aici actioneaza

    virusul

    ;Dupa ce virusul si-a facut treaba, vom restabili primii 3 bytes din program:

    CS:000012D0 C6 06 00 01 50 MOV BYTE PTR [100],50h

    CS:000012D5 C6 06 00 01 B4 MOV BYTE PTR [101],B4h

    CS:000012DA C6 06 00 01 09 MOV BYTE PTR [102],09h

    CS:000012DF ... ...

    ... ... ...

    ;JMP-ul nostru a fost sters!

    ;Acum putem sa sarim linistiti inapoi la inceput:

    CS:000012E9 9D POPF ;restabilim flagurile

    CS:000012FA 61 POPA ;restabilim registri

    CS:000012FB BE 00 01 MOV SI,100h

    CS:000012FE FF E6 JMP SI ;si gata

    -----------------------------------------------

    CS:00001300 ??? ???

    Atrageti atentia cum sunt encodate instructiunile de

    restabilire a primelor trei bytes. Observama ca

    bytii de restabilit (50, B4, 09 ) se afla la adresele

    de memorie CS:000012D4, CS:000012D9, CS:000012DE.

    Dupa ce am vazut programul infectat putem sa ne dam seama

    cum se realizeaza infectarea.

    Presupunem ca codul virusului nostru se pastreaza intr-un

    fisier VIRUS.DAT (cu lungimea Lv=200h).

    Iata etapele de parcurs:

    1). Citim primii 3 bytes din TEST.COM -> 50, B4, 09

    2). Acum corectam operanzii instructiunilor de restabilire

    din VIRUS.DAT.

    Daca in memorie acesti bytes se afla la adresele:

    CS:000012D4, CS:000012D9, CS:000012DE,

    ÃŽn fisier ele se vor afla la offseturile 01D4h, 01D9h, 01DEh.

    Mai bine zis ele se afla la acele adrese de memorie

    pentru ca de exemplu:

    CS:000012d4 =CS:(100h+Lp+01D4h)

    Sper ca e clar. Daca nu - mai reflectati.

    3). Acum scriem linistiti peste acesti trei bytes din TEST.COM

    codul instructiunii JMP [Lp] adica JMP 1100h,

    care se codeaza astfel: (E9 FD 0F) .

    Amintesc ca (E9) este codul instructiunii JMP,

    iar (FD 0F) înseamna (0FFDh)=(01000h-03h)= ( Lp-3 ).

    Sper ca e clar. Daca nu - mai reflectati.

    4). Ne-a ramas cel mai usor lucru.

    Adaugam codul virusului la capatul fisierului TEST.COM

    5). Gata.

    Mentiuni:

    Am descris în acest tutorial numai principiul de infectare a unui

    program.

    Ramîne la latitudinea voastra scrierea virusului propriu zis

    (adica a sarcinilor pe care acesta le executa).

    O singura mentiune: desi am evitat coruperea referintelor

    la adrese absolute din cadrul programului,

    trebuie sa intelegeti ca virusul in sine nu e protejat de

    asa ceva. În dependenþã de lungimea programului infectat,

    virusul se va pomeni la adrese diferite.

    Partea buna este cã virusul îl scrieti voi si cunoasteti

    locurile unde se fac referinte absolute la memorie- la infectare

    puteti corecta aceste referinte cu lungimea programului (Lp).

    Va sfatuiesc sa aveti un singur loc de acest fel - cel în

    care veti baga (Lp) într-un registru de exemplu (DX). În continuare

    referindu-va la adrese absolute folositi ca baza acest registru.

  6. Cum lucram cu socket-tii ?

    Cred ca de multe ori va-ti intrebat cum lucreaza BO2K sau exploiturile !

    (Sper sa nu va dau ideii :)

    Pai chiar asa de complicat asa nu poate fi ! hai sa vedem cum naiba se lucreaza

    cu socket-tii !

    1. Ce este un socket ? Pai mai "babeste" spus este un canal de comunicatie !

    Unu la mana exista mai multe tipuri de socketuri :

    1. SOCK_STREAM : bidirectional , sigur

    2. SOCK_DGRAM : bidirectional , nesigur (pachetele sar putea sa nu se mai intoarca

    3. SOCK_RAW : folosit pentru "dedesupturi" :)

    4. SOCK_PCK : cred ca este cel mai vechi (recomandabil a nu se folosi :)

    Doi la mana exista mai multe tipuri de domeni (ce fac domenile astea ? impun niste reguli de comunicatie

    socketurilor !)

    1. AF_UNIX - domeniu de tip UNIX;

    2. AF_INET - domeniu de tip Internet;

    3. AF_RAW - domeniu de tip RAW

    2. Cum creeam un socket ?

    connect = socket(domeniu,tip,protocol);

    Ex. Vrem sa cream un socket prin care sa ne putem lega la un port !

    connect = socket(AF_INET,SOCK_STREAM,0);

    Easy ?

    Apropo connect este un integer care semnifica descriptorul .

    (da, da , exact ca la fisiere);

    3. Cum asociem un nume socketului ?

    Pentru identificare socketului de catre procese acesta are nevoie

    de un nume. Cand folosim domeniul internet (AF_INET) acest nume este compus

    din adresa masini server cat si cea a masini client cat si a porturilor lor .

    Ex. bind(connect,nume,lungime nume)

    4. Cum ne conectam ?

    Depinde ce vrem sa facem .

    Daca vrem client vom folosi functia connect :

    connect(descriptor, nume_socket, lungime_nume_socket);

    unde descripor este descriptorul socket-ului , nume_socket este socketul

    si lungime nume socket este sizeof(lungime_socket); :)))))

    Daca vrem server folosim listen(decriptor,numar_conexiuni) unde

    descripor este descriptorul socket-ului iar numar connexiuni este numarul

    de conexiuni admise de server

    Ex. listen(connect,5);

    Dupa care folosim functia accept ca sa "acceptam" cererile catre server

    Ex. accept(connect,nume_socket, lungime_nume_socket);

    5. Cum transmitem si receptionam date ?

    Sub unix (mai precis sub linux) avem fucntile read si write ! sunt

    exact aceleasi functii pe care le folosim si la citirea si scrierea in fisiere!

    Sub windoze lucrurile se complica cam un pic dar nu mult ! Adica se folosesc alte

    2 functii :

    send(connect,buffer,sizeof(buffer),flaguri);

    recv(connect,buffer,sizeof(buffer),flaguri);

    unde flaguri reprezinta :

    MSG_PEEK - la un nou apel al functiei read() sau recv(), va fi citit din nou acelasi mesaj;

    MSG_OOB - este folosit pentru transmisia mesajelor cu prioritate maximã;

    MSG_DONTROUTE - trimite datele fãrã pachetele de rutare;

    (celelalte optiuni ale functilor send si recv sunt mura'n gura , nu ?:)

    6. Cum inchidem un socket ?

    O data cu close(connect); (exact ca la fisiere) sau cu shutdown(connect,tip de inchidere);

    unde tip de inchidere poate fi

    0: nu se main pot citi date prin socket

    1: nu se mai pot trimite date

    2: nu se mai pot receptiona date

    7. Practica :

    1. Vom pune in practica un client care drept sa spun l-am facut pt.

    linux dar cred ca nu veti avea probleme sa il compilati si in Visual C++

    (special am folosit functile send si recv)

    2. Vedeti ca programul de fata nu a fost compilat niciodata :)

    Am facut si eu ceva reciclare de cod :), am scris ceva de mana si uite ce o

    iesit

    1. Exemplu de client:

    #include<all_headers.h> :)))))))))

    #define PORT 23

    #define MAXLINE 4096

    client(int socket) {

    char recvline[MAXLINE],sendline[maxline];

    for( ; ; ){

    if (recv(socket,recvline,MAXLINE,0)==0){

    printf("server terminated prematurely ! n");

    exit(1);

    }

    if (strncmp(recvline,"HALLO",5)==0){

    strncpy(sendline,"Ce faci smechere ?",strlen("Ce faci smechere ?"));

    // rea ii lenea asta :))))

    send(socket,sendline,strlen(sendline),0);

    }

    }

    }

    int

    main(int argc, char **argv)

    {

    int sockfd;

    struct sockaddr_in servaddr;

    if (argc != 2)

    err_quit("usage: client <IPaddress>");

    ifdef comentariu

    Creeam socketul ...

    endif

    sockfd = Socket(AF_INET, SOCK_STREAM, 0);

    bzero(&servaddr, sizeof(servaddr));

    servaddr.sin_family = AF_INET;

    servaddr.sin_port = htons(PORT);

    inet_pton(AF_INET, argv[1], &servaddr.sin_addr);

    ifdef comentariu

    Dupa crearea socket-ului neconectam !

    endif

    connect(sockfd, (struct sockaddr_in *) &servaddr, sizeof(servaddr));

    ifdef comentariu

    Predam socketul unei functii care stie ce sa faca cu el

    endif

    client(sockfd); // in functa asta faceti numa send-uri si recv-uri

    ifdef comentariu

    Inchidem socketul

    endif

    close(sockfd);

    exit(0);

    }

    Ok ! acuma sa dam drumu si la un server :

    (asta o fost compilat si o functionat perfect (sub linux :))

    (Visual c++ cred eu ca nu stie de fork ! cred ca asta ar fi singurul inconvenient

    sub windows)

    2. Exemplu de server :

    #include <stdio.h>

    #include <string.h>

    #include <sys/types.h>

    #include <sys/socket.h>

    #include <netinet/in.h>

    #include <errno.h>

    #include <stdlib.h>

    #include <signal.h>

    #ifdef LINUX

    #include <sys/time.h>

    #endif

    #define SERV_PORT 115

    //#define DEBUG

    void sig_chld(int signo)

    {

    pid_t pid;

    int stat;

    pid = wait(&stat);

    printf("child %d terminatedn", pid);

    return;

    }

    int main(void)

    {

    int listenfd, connfd;

    pid_t childpid;

    socklen_t clilen;

    struct sockaddr_in cliaddr, servaddr;

    void sig_chld(int);

    char remotestring[512],check[32];

    strcpy(remotestring,"SErVer Open and Readyn");

    remotestring[22]=0;

    listenfd = socket(AF_INET, SOCK_STREAM, 0);

    bzero(&servaddr, sizeof(servaddr));

    servaddr.sin_family = AF_INET;

    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);

    servaddr.sin_port = htons(SERV_PORT);

    bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr));

    listen(listenfd, 1024);

    signal(SIGCHLD, sig_chld);

    for ( ; ; ) {

    clilen = sizeof(cliaddr);

    if ( (connfd = accept(listenfd, (struct sockaddr *) &cliaddr, &clilen)) < 0) {

    if (errno == EINTR)

    continue; /* ianpoi la for */

    else

    printf("accept error");

    }

    if ( (childpid = fork()) == 0) { /* procesul copil */

    send(connfd, remotestring, strlen(remotestring), 0);

    for(;;){

    recv(connfd, check, 511, 0);

    #ifdef DEBUG

    printf("check%s",check);

    #endif

    if (strncmp(check,"Close",5)==0) break;

    if (strncmp(check,"Hallo",5)==0)

    send(co nnfd,"Hallo ! I am the servern", 24, 0);

    }

    close(listenfd); /* inchide socketul care asculta */

    exit(0);

    }

    close(connfd); /* inchidem socketul parinte */

    }

    CREDITS TO SACX

×
×
  • Create New...