Új hozzászólás Aktív témák
-
Sziasztok, hogyan lehet a kliens oldalon egymás után több üzenetet is fogadni? Kell hozzá vmi a szerver oldalon is?
Konkrét példa:
Szerver oldal:
def handle_client(client_socket):
request=client_socket.recv(1024)
client_socket.send("Connected to region " + srvregionidentifier)
client_socket.send(srvregionidentifier)
client_socket.close()Kliens oldal:
response=client.recv(4096)
regionidentifier=client.recv(4096)
print regionidentifier
print responseAmikor csatlakozni akarok a klienssel, hibaüzenet jön:
Traceback (most recent call last):
File "./janus-client.py", line 26, in <module>
regionidentifier=client.recv(4096)
socket.error: [Errno 104] Connection reset by peerTudja vki, hogyan tudom fogadni a kliens oldalon a szerver második üzenetét?
https://www.coreinfinity.tech
-
-
-
Van valakinek ötlete, hogyan lehetne gyorsítani egy pythonban készült syn scant? 1 mp-es timeouttal 18 óra az összes port scannelése...
[ Szerkesztve ]
https://www.coreinfinity.tech
-
válasz sztanozs #1228 üzenetére
Én is ezt írtam... Próbáltam multithreaddel, de nem hozott számottevő gyorsulást... aztán rájöttem, hogy a GIL lehet a ludas... Megnézem, hogy multiprocessinggel mi az ábra.
EQMontoya: próbáltam a timeout csökkentést, de szignifikáns változást nem láttam. Valószínűleg a képernyőkezelés is ludas benne (egyelőre muszáj benne hagynom debug okokból).
[ Szerkesztve ]
https://www.coreinfinity.tech
-
válasz sztanozs #1228 üzenetére
Nah, a 18 órás futásidőt sikerült 11 percre redukálni... de egy nyamvadt mobil négymagos i7-est még mindig nem tudtam értelmesen leterhelni (értsd: max 60% körül). 0.1s-es timeout, 16 process. Arra kíváncsi lennék, mennyi idő megy el a processek kezelésére (32 v. 64 processel sem kaptam jobb eredményt, sőt, az alsó 1024 portos scan 64 processel 20 mp-es időt hozott a 16 process 12 mp-ével szemben).
https://www.coreinfinity.tech
-
-
Köszönöm a tanácsokat.
https://www.coreinfinity.tech
-
python3-ban mi a fenéért nem működik a scapy?
ImportError: No module named 'scapy'
2-es alatt fent van, 3-as alá felraktam, de mégsem...
MOD: megvan, nem rootként raktam fel...
[ Szerkesztve ]
https://www.coreinfinity.tech
-
Újabb segítségkérés: adott egy python3-as multithreades portscanner. Próbálom a nyitott portok service-eit azonosítani vele, de elég nagy marhaságokat kapok vissza, mitől lehet? Mutatom:
Enter target address: metasploitable.home
Open port 22 fsp
Open port 25 ftp
Open port 21 ftp
Open port 23 ftp
Open port 53 domain
Open port 80 http
Open port 111 sunrpc
Open port 139 netbios-ssn
Open port 445 microsoft-ds
Open port 513 shell
Open port 514 shell
Open port 512 shell
Open port 1099 rmiregistry
Open port 1524 ingreslock
Open port 2049 nfs
Open port 2121 iprop
Open port 3306 mysql
Open port 3632 distcc
Open port 5432 postgresql
Open port 5900 ?
Open port 6000 x11
Open port 6667 ircd
Open port 6697 ircs-u
Open port 8009 ?
Open port 8180 ?
Open port 8787 ?
Open port 38881 ?
Open port 42318 ?
Open port 54571 ?
Open port 58211 ?Ugyan a nyitott portok megtalálása helyes, de mindig vmi hasonló marhaságot kapok, ráadásul nem kapom 2x ugyanazt az eredményt.
[ Szerkesztve ]
https://www.coreinfinity.tech
-
-
-
-
-
válasz velizare #1248 üzenetére
Figyelem: default python environmentben fut, tehát ha 3-asban kell, akkor bele kell nyúlni.
Elsőre jókat szívtam vele A try a for cikluson kívül volt, így aztán nem értettem, miért döglik le indítás után azonnal... aztán persze rájöttem, hogy a service azonosítás már az első portnál socket errort generál.
[ Szerkesztve ]
https://www.coreinfinity.tech
-
Mitől lehet, hogy a subnet scan nagyon lassú? Hiába állítom akármennyire alacsonyra a timeoutot, akkor is lassú.
https://www.coreinfinity.tech
-
Újabb segítségkérés:
#!/usr/bin/env python3
import netifaces
for i in netifaces.interfaces():
try:
addr=netifaces.ifaddresses(i)
print(addr[netifaces.AF_INET])
except:
pass[{'peer': '127.0.0.1', 'addr': '127.0.0.1', 'netmask': '255.0.0.0'}]
[{'addr': '192.168.1.76', 'broadcast': '192.168.1.255', 'netmask': '255.255.255.0'}]
[{'addr': '192.168.51.1', 'broadcast': '192.168.51.255', 'netmask': '255.255.255.0'}]
[{'addr': '192.168.19.1', 'broadcast': '192.168.19.255', 'netmask': '255.255.255.0'}]
[{'addr': '192.168.56.1', 'broadcast': '192.168.56.255', 'netmask': '255.255.255.0'}]Ez a kód és a kimenet. A kimenetből el kéne érnem az 'addr' mező értékét, ami ugye nem mindig ugyanabban a pozícióban van. Hogyan?
https://www.coreinfinity.tech
-
-
válasz K1nG HuNp #1270 üzenetére
address=netifaces.ifaddresses(i)
if i=="lo":
pass
else:
if len(i)>=8:
print(blue+i+black,"\t",address[netifaces.AF_INET][0]['addr'])
else:
print(blue+i+black,"\t\t",address[netifaces.AF_INET][0]['addr'])Ez a lényege. Terveim szerint mindent megosztok, amin eddig machináltam itthon - hamarosan.
Egyébként most fedeztem fel, hogy ez a kód még mindig nem bolondbiztos, mert csak az első címet adja vissza, de mi van, ha egy NIC-nek több is van?
[ Szerkesztve ]
https://www.coreinfinity.tech
-
Távoli gép TCP window size-ot hogyan tudom kideríteni?
https://www.coreinfinity.tech
-
válasz SidCorky #1276 üzenetére
Ingyenesnek tudom ajanlani. Az alapokat jol megtanitja, utana ha erdekelnek a magasabb matezisek, mar el tudsz indulni.
https://www.coreinfinity.tech
-
válasz Atomixx #1312 üzenetére
"...Tehát, azok a modulok amik szükségesek, hogy működjön. Semmi több..."
Itt van a tevedes. A Python nem mondja meg, mit hasznalhatsz, szabadon bovitheto akar altalad keszitett modulokkal is (egyebkent programozasban teljesen bevett szokas, hogy a rutinszeruen ismetlodo dolgaidat sajat unitba/modulba/satobbibe rakod). Tehat nincs olyan, hogy "amik szuksegesek", azzal minden menni fog. Nezz meg egy c forrasallomanyt, altalaban ugy kezdodik, hogy #include. Anno Turbo Pascalban is szukseges volt a Crt unit meghivasa, ha egyaltalan akartal valamit a kepernyovel kezdeni (pl. kiiratni valamit).
Persze felrakhatsz minden modult, amit elersz, meg mindet meg is hivhatod a sajat programodban, csak akkor a programod is bazinagy lesz, meg memoriabol is irgalmatlanul es indokalatlanul sokat fogsz felhasznalni.
https://www.coreinfinity.tech
-
válasz errorcode06 #1360 üzenetére
Ha nem is feltetlenul up-to-date konyvek, de egyreszt konnyen bele lehet tanulni a pythonba, masreszt ha lefednek barmilyen teruletet, ami erdekes lehet szamodra, akkor el tudnak inditani. En csak azert nem vettem meg, mert talan 1-2 konyv lenne, ami erdekelne beloluk.
https://www.coreinfinity.tech
-
válasz K1nG HuNp #1387 üzenetére
A lambda ugy mukodik, mint a fuggvenyek (function), de miutan hasznaltad, eldobodik, nem foglalja a memoriat - ezert is nem adsz nevet neki.
pl.:
(lambda x: x in [list],mylist)
x a valtozod, amit hasznalsz; aztan megmondod, mit szeretnel tenni vele (pl. megnezni, hogy szerepel-e egy listaban); majd megmondod, honnan szeretned az x ertekeit behelyettesiteni (pl. a mylist-bol).
https://www.coreinfinity.tech
-
válasz DamianB #1502 üzenetére
Amit én ajánlanék, az a coursera.org python képzése. Online, minden leckét egy hét alatt kell átvenned a feladatmegoldásokkal együtt, tehát úgy osztod be az idődet, ahogy jólesik. Dr. Chuck jó fej, mi több, amerre a világban jár, szokott szervezni Out of office hours-t, azaz össze lehet vele futni egy kocsmában, dumálni vele és tényleg érthetően magyaráz. Persze angolul tudni kell. Még amit érdemes róla tudni: a michigani egyetemen ő okítja a programozást.
https://www.coreinfinity.tech
-
-
-
Melyik az a crypto modul, ami aktuálisan frissnek és biztonságosnak tekinthető, valamint free to use?
https://www.coreinfinity.tech
-
-
-
-
-
-
válasz t72killer #1801 üzenetére
Lehet, hogy jó pontként szolgál a CV-dben, de úgyis azt fogják tudakolni, mit tudsz valósan. A Humblebundle-ön most van olcsó könyvcsomag, mind python mindenféle témakörben. Ha pedig most kezdenéd tanulni, irány a Coursea Programming for everyone kurzusa.
https://www.coreinfinity.tech
-
válasz Wmwinters01 #1885 üzenetére
coursera. org-on van egy Programming for everyone kurzus, semmiféle elözetes peogramozói tudás nem kell hozzá.
https://www.coreinfinity.tech
-
-
-
-
-
-
A kovetkezo problema megoldasara van otletetek?
Irtam egy sajat modult, ami ellenorzi egy adatbazis-kapcsolat kiepitesenek a lehetoseget; ezt meghivja egy dropper, ami szinten sajat modul; a droppert meg egy sajat program hivja meg, ami feltolti az adatbazist random adatokkal.
Vizualisan: seeder -> dropper -> checker.
A gondom az, hogy a logging modult hasznalva a dropper is, meg a seeder is a checker logjaba irja az uzeneteit, holott azoknak definialtam sajat logot.
https://www.coreinfinity.tech
-
-
-
-
-
válasz Siriusb #2219 üzenetére
Megneztem, sima import logging. Elmeletileg mindegyiknek mas neve van, de meg igenyel debugolast.
Itt a kod, ami erdekes lehet:
conncheck.py:
import logging
import inspect
def connectionCheck():
functionName = inspect.stack()[0][3]
conncheckLog = functionName + ".log"
logging.basicConfig(filename = conncheckLog, level = logging.INFO)
logging.info(str(datetime.dattime.now()) + " " + connectionSuccess)
drop.py:
import logging
import inspect
def dropper()
functionName = inspect.stack()[0][3]
dropperLog = functionName + ".log"
logging.basicConfig(filename = dropperLog, level = logging.INFO)
logging.info(str(datetime.dattime.now()) + " " + dropSuccess)Es ehhez teljesen hasonlo modon van definialva a seederben is a logolas. Disclaimer: a fenti kodot kezzel masoltam, nem copypaste, szal lehet benne typo, de maga a kod mukodik.
[ Szerkesztve ]
https://www.coreinfinity.tech
-
-
-
-
Nagyon koszonom mindenkinek a segitseget!
https://www.coreinfinity.tech