Kan AI vechten met toenemend aantal ransomware-aanvallen?
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
Onder Linux worden veel objecten als een bestand beschouwd, ongeacht of het object feitelijk een bestand, apparaat, map of socket is. Het vermelden van een bestand is eenvoudig, daar is de shell voor ingebouwd ls
. Maar wat als een gebruiker wil zien welke bestanden momenteel worden geopend door het webserverproces? Of als die gebruiker wilde weten welke bestanden in een bepaalde directory zijn geopend? Dat is waar het om lsof
gaat. Stel je voor lsof
als ls
met de toevoeging van "open bestanden".
Houd er rekening mee dat, hoewel de BSD's voor deze taak een ander hulpprogramma hebben fstat
, er ook verschillende andere smaken van Unix (bijvoorbeeld Solaris) bestaan lsof
. De opties en vlaggen zijn verschillend op de andere platforms, evenals het uiterlijk van de output, maar over het algemeen zou de kennis in dit artikel ook voor hen van toepassing moeten zijn.
Laten we eerst eens kijken naar het formaat van de lsof
uitvoer en hoe het gelezen moet worden. De gebruikelijke uitvoer lsof
zonder parameters zou er als volgt uitzien. Dit is bijgesneden voor leesbaarheid.
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
Deze kolommen betekenen het volgende:
init
.init
het is bijna altijd root
.cwd
- De huidige werkdirectory (u merkt misschien de gelijkenis met de pwd
opdracht die de huidige werkdirectory afdrukt).rtd
- De hoofdmap van een proces.txt
- A text file
, dit kan ofwel een configuratiebestand zijn dat betrekking heeft op het proces of de "broncode" die betrekking heeft op (of hoort bij) het proces.mem
- Een zogenaamd "memory mapped file", dat wil zeggen een segment van virtueel geheugen (lees: RAM) dat aan een bestand is toegewezen.r
- Lees.w
- Schrijven.u
- Lezen en schrijven.REG
- Een gewoon bestand.DIR
- Een directory.FIFO
- Als eerste erin, als eerste eruit.Dit is misschien een beetje overweldigend voor nu, maar als je lsof
een paar keer werkt, zal het snel in je hersenen wegzakken.
Zoals hierboven vermeld, is de output van lsof
hier verkort. Zonder enige argumenten of filters, lsof
produceert honderden uitvoerlijnen die u alleen maar in de war zullen brengen.
Er zijn twee basismethoden om dat probleem op te lossen:
lsof
opdrachtregelopties om de resultaten te beperken.grep
.Hoewel de laatste optie misschien comfortabeler klinkt, omdat u de lsof
opdrachtregelopties niet hoeft te onthouden , is deze over het algemeen niet zo flexibel en efficiënt, dus we zullen bij de eerste blijven.
Stel je voor dat je een bestand wilt openen met je favoriete teksteditor en dat de teksteditor je vertelt dat het alleen kan worden geopend in de alleen-lezen modus omdat een ander programma er al toegang toe heeft. lsof
helpt je erachter te komen wie de dader is:
lsof /path/to/your/file
Dit zal een uitvoer opleveren die er ongeveer als volgt uitziet:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Blijkbaar ben je vergeten een oudere sessie te sluiten! Een soortgelijk probleem doet zich voor wanneer u een NFS-share probeert te ontkoppelen en u umount
vertelt dat dit niet kan, omdat iets nog steeds toegang heeft tot de gekoppelde map. Nogmaals, lsof
kan u helpen bij het identificeren van de boosdoener:
lsof +D /path/to/your/directory/
Let op de achterliggende schuine streep, dat is belangrijk. Anders lsof
gaat u ervan uit dat u een gewoon bestand bedoelt. Laat u niet verwarren door de +
voorkant van de vlag - lsof
heeft zoveel opdrachtregelopties die het nodig heeft +
naast de meer gebruikelijke -
. De uitvoer zou er als volgt uitzien:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
Dat betekent dat het proces mocp
met de PID 5637
van de gebruiker music
een bestand heeft geopend met de naam RMS_GNU_SONG.ogg
. Maar zelfs na het afsluiten van dat proces is er nog steeds een probleem: het NFS-volume kan niet worden verwijderd.
lsof
heeft een -c
vlag die bestanden weergeeft, opende een willekeurige procesnaam.
lsof -c mocp
Dat zou een output opleveren die er als volgt uitziet:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
In dit voorbeeld is er nog een andere mocp
uitvoering, waardoor u de share niet kunt ontkoppelen. Nadat je dat proces hebt afgesloten, wil je zeker weten dat de gebruiker music
geen andere potentieel problematische bestanden heeft geopend. lsof
heeft een -u
vlag voor het weergeven van bestanden die door een specifieke gebruiker zijn geopend. Onthoud dat een bestand niet altijd een gewoon bestand op uw harde schijf is!
lsof -u music
U kunt ook meerdere gebruikers passeren, gescheiden door komma's:
lsof -u music,moremusic
Een belangrijke opmerking over het standaardgedrag van lsof
: de resultaten zijn OR- gebaseerd, wat betekent dat u bestandsresultaten zult zien die worden geopend door processen die eigendom zijn van de gebruiker music
of de gebruiker moremusic
. Als u resultaten wilt zien die overeenkomen met processen die eigendom zijn van beide gebruikers, moet u de vlag doorgeven -a
:
lsof -au music, moremusic
Omdat beide gebruikers in de groep zitten musicusers
, kunt u ook bestanden op basis van groep weergeven:
lsof -g musicusers
U kunt ook vlaggen op de opdrachtregel combineren:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
In de laatste regel hebben we nog een speciale vlag toegevoegd - ^
wat staat voor een logische NOT . Als de uitvoer leeg is na het uitvoeren van die opdracht, zal het ontkoppelen hoogstwaarschijnlijk succesvol zijn.
In de vorige voorbeelden keken we vooral naar reguliere bestanden. Hoe zit het met stopcontacten en netwerkverbindingen?
Om een lijst weer te geven van alle huidige netwerkverbindingen lsof
heeft de -i
vlag:
lsof -i
De uitvoer lijkt op wat we tot nu toe hebben gezien ...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... behalve één verschil: in plaats van bestandsnamen of mappen NAME
toont de kolom nu verbindingsinformatie. Elke verbinding bestaat uit de volgende onderdelen:
Zoals met veel andere tools, kunt u ervoor kiezen om DNS-namen en -poorten ( -n
en -P
respectievelijk) niet om te zetten. De vlag -i
heeft aanvullende parameters. U kunt opgeven of om aan te tonen tcp
, udp
of icmp
verbindingen of bepaalde poorten:
lsof -i :25
or
lsof -i :smtp
Nogmaals, parameters kunnen worden gecombineerd. Het volgende voorbeeld ...
lsof -i tcp:80
... toont u alleen TCP-verbindingen via poort 80. U kunt het ook combineren met de opties die u al kent van "klassieke" bestanden:
lsof -a -u httpd -i tcp
Dit toont u alle TCP-verbindingen die door de gebruiker zijn geopend httpd
. Let op de -a
vlag, die het standaardgedrag van verandert lsof
(zoals eerder vermeld). Zoals met de meeste opdrachtregelprogramma's, kunt u extreem diep gaan. Het volgende laat alleen TCP-verbindingen zien met de status "ESTABLISHED":
lsof -i -s TCP:ESTABLISHED
Op dit punt zou u een basiskennis moeten hebben van hoe lsof
werkt, samen met enkele veelvoorkomende gebruikssituaties. Voor meer informatie, zie de manpage van lsof
op uw systeem.
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.