#networks

1 messages · Page 26 of 1

flint crater
teal vigil
#

hey, does anyone know a good tutorial for stacks?

teal vigil
#

sockets*

tiny panther
#

If I want to make a chat app, without like a public IP, for example, you chat with someone you're machine is connected to their machine (this is all just for fun, nothing serious), do I store their address in the DB locally or what?

#

again, this is just project I am making just for fun

teal vigil
#

hey where did u learn sockets

#

?

halcyon arrow
#

If ur talking about registering users with the ‘friendly name’ like John’s PC then yea a database or a array would have to be used to correlate that name with IP

teal vigil
#

hey, does anyone know a good tutorial for sockets?

ruby pelican
# teal vigil hey, does anyone know a good tutorial for sockets?

This socket programming tutorial will show you how to connect multiple clients to a server using python 3 sockets. It covers how to send messages from clients to server and from server to clients. I will also show you how to host your socket server locally or globally across the internet so anyone can connect. This uses the python 3 socket and t...

▶ Play video
#

Go with this

quiet lantern
#

Uu

#

Not answering

#

Pls help me with Ascii pyfiglet I don't know how to make animation In terminal

teal vigil
#

it doesnt really explain a lot

ruby pelican
#

@teal vigil This will reallt help you

quiet lantern
#

Ok tell me how to insert payload on image without Rar SFX and FakeImageExploiter

raven flame
#

Then you can relay the messages between clients though the server, or use it to resolve and pass the IPs across

merry steppe
#

Is it possible for me to send a request through a dns server?

flint crater
#

@merry steppe technically yes, but that stuff usually involve stuff which I should not talk about here.

merry steppe
#

Dm?

flint crater
#

Also DNS server is just like any other server, just that it serves a specific purpose and it's usually locked down with more security and has high bandwidth capacity

#

@merry steppe I suggest you do some re-search, I won't help you in any way 😉

merry steppe
#

Basically what I’m saying is I want to use my USA IP and make it look like it’s coming from Canada. I do not though want to use a CANADIAN IP

low panther
#

^ anyone know how we can do this?

flint crater
#

You guys understand simple networking, right? @low panther
A packet has a source and destination. If it's TCP, the packet has to return back from the destination from the source.

So, if you send with a source of 192.168.0.1 to destination 1.1.1.1 but you tell 1.1.1.1 that you really are, 172.16.1.1, how can you get the response back? 😛 if you are in control of 172.16.1 you can, but is bad stuff and usually you shouldn't do that

merry steppe
#

So

#

Basically we need to craft our own packet?

flint crater
#

I didn't say that lol

merry steppe
#

And this is for a cybersecurity project in class

#

our teacher knows how to do it

#

but wont say anything

flint crater
#

This it what this implies

merry steppe
#

ok

#

Would you accept heavy payment to help us?

#

like HEAVY HEAVY

#

payment

flint crater
#

nope

#

I'm just here to provide examples or help, not involved with anything

merry steppe
#

not for 4 figs?

low panther
#

Him and I are deadass rn

#

Multiple grand

#

For anyone who can solve this problem for us

merry steppe
#

yeah

flint crater
low panther
#

And by the way

#

We aren’t doing illegal stuff

#

Although it could appear that way

merry steppe
#

^

low panther
#

No black hat shit

merry steppe
#

Teacher hosted site

#

teacher approved project

flint crater
#

@merry steppe not sure what class you guys are taking, but check out https://scapy.net/ for Python

merry steppe
#

Would u be aware of a golang alternative as well?

flint crater
#

Not familiar with Golang :/

merry steppe
#

@low panther ^^^

low panther
#

If anyone can think of a full solution with every part we described, dm me

#

Multiple thousand dollar dev project listing

merry steppe
#

^ yup

slender steeple
#

just use a canadian proxy server or something

#

dns has nothing to do with this

#

otherwise its impossible if you actually want to recieve a response

flint crater
#

@slender steeple I totally forgot about proxies, but yes, that is viable. Guess I was overthinking it 😛
Simple things requires simple solutions

#

@low panther ^

dusk sparrow
#

hello, how can I send an interrupt signal to a remote process in python

#

The process is accessible via netcat

modest pebble
#

You will need a socket listener that will stop the process when it receives a certain package

merry steppe
gloomy root
#

thats...

#

Thats not technically possible

#

the USA IP will always look like a USA IP

#

it's geo location will resolve to the USA regardless

#

masking the location to appear as somewhere else is what a Proxies' job is so it appears from another IP in another location

#

Like the only way you can really maybe do this is via spoofing which you're gonna be constructing your own packets for

merry steppe
#

thats fine.

gloomy root
#

but again it wont appear as the USA IP

merry steppe
#

We can spoof

gloomy root
#

it'll appear as the spoofed ip

#

Your USA IP will always be a USA IP

#

you'll just be spoofing the packet as some Canadian IP

merry steppe
#

Will we need a canadian IP to do that?

gloomy root
#

well at that point you might aswell just use a proxy

#

its gonna achieve the same thing

inner hinge
#

anyone wanna be my friend

merry steppe
gloomy root
#

I mean just use a proxy

#

it does the same thing

merry steppe
#

If we use a proxy we have to supply the proxies then. We would prefer crafting the packets.

gloomy root
#

you're trying to send a HTTP request correct?

merry steppe
#

yes

gloomy root
#

Then you're gonna be in for alot of work

#

youll likely need scapy todo this in python

#

and also you'll then need to re-build your http interactions from scratch from these packet interactions

#

However

#

i dont think this is possible with http either way

#

because it'll never sync

#

what level is this course btw?

#

cuz i think we're getting to the overly complicating it side of stuff

merry steppe
#

Its a HS course, but we can pay thousands for help

#

@low panther

gloomy root
#

I think what you're trying do is wayyyyy more complicated than what they would expect you todo for a HS course

#

You easiest / only method is gonna be using a proxy

#

cuz ip spoofing isnt gonna work

#

because the server will respond to an ip that doesnt accept anything

merry steppe
#

Its a magnet school

#

its not really a normal HS course

prisma cobalt
#

what is the parameter passed into .listen(parameter) do

#

im trying to create a server that only has one connection to it at a time but will accept connections forever

#

maybe .listen(1) but does that mean once the connection is over it stops?

#

maybe a

while True:
    socket.listen(1)
    #do stuff here
    socket.close()
#

wait no

#

i dont want to close the server socket

#

i need to close the client socket

gloomy root
#

if it was just sending spoofing packets

#

thats one thing

merry steppe
#

Ok. I understand. Would you be interesting in doing a job for us? Paying heavy heavy money. 4 figs

gloomy root
#

but you're trying to spoof an ip which doesnt exist or you cant control doing 2 way communication

merry steppe
#

For the one time job

gloomy root
#

Low key now matter how much you pay isnt gonna change the fact that you cant do ip spoofing with 2 way communication using 1 ip

merry steppe
#

Basically we could communicate but not receive the response right

gloomy root
#

well no

merry steppe
#

Unless we have control of the IP we are spoofing

gloomy root
#

you'd send a single packet and immediately fail the handshake

#

or before that get filtered out by the firewall

merry steppe
#

If ours is 1.1.1.1 or so. And we want 1.2.1.1 in Canada. We need the other one

#

If ur referencing TLS etc. we made a client for that

gloomy root
#

No im referencing the fact that you'll send one tcp packet and fail before you even get to the HTTP protocol because the server will send to a dead ip

merry steppe
#

So only way to do this would to provide a Canadian proxy?

gloomy root
#

pretty much

merry steppe
#

Could we buy a VPS in Canada

gloomy root
#

i mean yeah

merry steppe
#

And route All reqs thru it

gloomy root
#

thats just a proxy

#

Lol

gloomy root
merry steppe
#

Sadly I use golang.

#

Lol

gloomy root
#

then

#

go is a actually a lil easier to write a proxy in that python

ember ledge
#

i saw some project about irc in python

#

i made my own

#

but its quite simple

ember ledge
#

its removing connected client

#

interesting stuff

#

but idk, i dont work with sockets often

#

i learned sockets in 2 or 3 days

#

simple as that

prisma cobalt
#

Lol, trying to do something really complicated and I only know the basics @ember ledge

ember ledge
#

relax

#

u will learn

spring elk
#

how am i able to use putty to connect to the client side?

vale vector
#

Does setting up all the headers and cookies while making a request put me in a safe place in order not to get flagged as a machine? Question asked for monitoring ^.

#

I'm currently trying to find the best way of monitoring without banning my proxies and flagging myself as a machine. I know that most of the sites allow you to request without headers and cookies, but does adding these extra infos put you in a safer place?

#

Since there are cookies that do expire really often

austere wave
vale vector
#

Yes, after 'show you forgot to close the " ' "

#

@austere wave

austere wave
#

Ya i saw that @vale vector , and fixed it

#

Its not accepting the except statement for Processerror

flint crater
#

@austere wave I suggest you open a #help channel as this it nor related to networking in Python. You are just executing commands in a shell and then parsing the output.

austere wave
#

Yy😔

flint crater
#

Also you forgot a ) on line 16

vale vector
flint crater
#

@vale vector so you want to simulate user generated requests to hide your software that spits out automated requests?
Have you researched how these software are trying to separate machine vs user generated requests? If not, that is a good starting point to get a good understanding.

Anyway, some tips, don't flood requests. Send all the headers needed, accept cookies, rotate user-agent if using multiple IP-adresses.

Scraping the web is allowed, but do so in fine manner and try to do rate limiting and fire your requests at random (e.g put os.sleep(random.randint(1,10) in there)

vale vector
# flint crater <@!285864675504160778> so you want to simulate user generated requests to hide y...

Exactly, willing to make request seem as human made as possible.

Currently, i'm adding every header and cookie that the request needs to have, but maybe that's slowing down my script by a bit, what do you think?

As for sleep time, i'm currently sleeping for 0.7 secs since i need really good time speeds in order to stand a change against the competition.

The only thing i think i should upgrade, is the user agent, since i'm using the same user agent for multiple proxies. I think i've seen some websites that do have lists of user agents, but will look into that a bit later.

Another thing i wanted to ask is, does the machine specs also matter when trying to make a request? I know some friends that told me that the better your pc is, the faster your requests will be. My proxies are from Netherlands, since there is the host, but i'm planning to run on a server to be able to run 24/7 and lower the proxies latencies.

But since the server won't have the same specs my pc does, i think that that extra time i'm saving on proxies latency will be lost due to low specs. What do you think?

storm saffron
#

if you're waiting 0.7s between each request then

#

it will take 0.7s between requests

#

your pc will have no impact on that

#

assuming you're scraping wsb, why are you interested in speed

vale vector
vale vector
ember ledge
#

do any of you guys know if there is a way to drop the socket connection after a certain amount of time?

#

Yeah

#

I don't know the code offhand but you would probably import a date/time package and build some sort of timer out of it and encase the socket connection drop code within that

#

oh ok thank you

#

Grab a coffee lol

#

Maybe you could even find a timer package to import and skip the hassle of building your own timer

#

😉

#

Some sort of "if x = 30 // seconds"
"drop socket"

#

yea I was asking because everytime i try to connect to like a dead server it takes so long before it moves on to connecting to the next

#

Oh you're trying to implement a timeout function

#

yea pretty much

#

sorry for giving you the context only now lol

#

All good

#

I am but a mere novice

#

I know nothing

#

😉

#

Hopefully I gave ya ideas though

#

But yeah I'd make a timer class specifically for the timeout

#

and call it as you need

#

would there be any modules i would have to import?

#

instantiate the object or whatever

#

Not sure

#

Google would have those answers

#

Google Python packages for date/time

#

timers

#

Stuff like that

#

oh ok

#

thank you again

#

lol

#

No worries

#

Remember

#

Github is awesome too

#

Just don't get lost in it

#

alright

fair dock
#

Guys I have a serieus problem! I used os.system("ping -f target"). I started my attack a few hours ago and then quitted right after 10 seconds. It is still sending all tho it isn't even opened yet.

halcyon arrow
fair dock
#

ill try to restart my laptop

fair dock
acoustic sinew
#

Hey everyone, is this the topic room where I can ask about making HTTP requests for a form-based website?
If not, would the web-development channel be more appropriate?

severe ocean
#

show us some code and output, then

brisk path
#

what’s the best way to become a grey hat in your opinion

prisma cobalt
errant bayBOT
#

5. Do not provide or request help on projects that may break laws, breach terms of services, be considered malicious or inappropriate. Do not help with ongoing exams. Do not provide or request solutions for graded assignments, although general guidance is okay.

modest pebble
#

@fair dock as stated above, we won't help anything related to DoS attacks. Please don't ask about that here again.

#

It doesn't matter what the said intend is, since we have no way of checking what they are actually doing

#

DoS attacks are malicious by definition

storm saffron
#

also without meaning to be rude it's a completely stupid question

#

doesn't have any relevance to 'security skills'

modest pebble
#

Let's not share malicious projects too

#

I mean, they mentioned that it was an "attack"

fair dock
modest pebble
#

Alright

brisk path
fair dock
#

I already tried different methods. I wanted to try the ping method

whole pewter
#

Hey guys, I want to try and make a script to alert me via a discord webhook if an attack is detected on a my OVH.
But how would I make the script detect an attack?

#

Any help would be appreciated.

coarse sedge
#

Hi everyone. I m new and i just started coding python. Can someone tell me or give some tips where i should start and the direction i should go?

mighty river
halcyon arrow
#

/\ OVH is a hosting company they host VPS and servers

halcyon arrow
bright copper
#

When I use socket and have an android app with Kivy, the app seems to crash when I attempt to get the IP address of the device.
Crashes with both

def get_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        # doesn't even have to be reachable
        s.connect(('10.255.255.255', 1))
        IP = s.getsockname()[0]
    except Exception:
        IP = '127.0.0.1'
    finally:
        s.close()
    return IP

and

client_ip = ([l for l in ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) if l][0][0])

Is this a problem with socket on android or just the wrong way to get an IP?

slender steeple
#

error msg?

brisk path
#

Hi guys I was wondering how I could attack my brother phone does anyone know how

storm saffron
#

so your error catching is a bit flawed

#

do you get an error output

brisk path
#

I was wondering how I could attack my brother phone does anyone know how

royal goblet
#

Does anyone have links to where I can learn how to use sockets to calculate the ping. It's for coursework, we've been given no guidence just a few slides explaining what ping is. I've read the python page on sockets but I'm still lost.

modest pebble
#

!rule 5

errant bayBOT
#

5. Do not provide or request help on projects that may break laws, breach terms of services, be considered malicious or inappropriate. Do not help with ongoing exams. Do not provide or request solutions for graded assignments, although general guidance is okay.

brisk path
brisk path
modest pebble
#

It doesn’t matter what you want it for

storm saffron
#

you've just stated that you're doing it for explicitly illegal purposes

#

why would you do that before you say it's for educational reasons

brisk path
#

My brother is allowing me to do it

#

Therefore it is legal

#

@storm saffron would you know how to do it

storm saffron
#

what are you even talking about

#

you could hit it with a brick

#

that would count as an attack

#

if you mean 'hack into it and make squiggly hacking things appear' then there's not much point

brisk path
#

Do you know about network engineering

storm saffron
#

i know a bit

brisk path
#

Want would be your advice on becoming one

storm saffron
#

a network engineer?

#

that's not really a thing

#

at least in the sense of what you seem to think it is

civic wyvern
#

Hi question, how can I increase the max file size at websockets server and client?

#

I want to send about 3mb tops, base64 image and some other stuff

#

Already solved the problem, thanks anyway

bright copper
#

I narrowed it down to the android permissions, but trying to figure out how on earth how to do that

#

It seems I need to ask permission for Network access and/or Wifi access

clear bobcat
#

What are you asking for? It looks like talk in offtopic channel

ember ledge
#

man

#

hello

#

guys

severe portal
#

Hello, not sure if this is the right channel for seeking out some socket, pickle answers. If not please point. = pointed, thx

neon girder
#

hello there

#

any one know a way to block ip perm to connaction with cmd

#

or something like that

halcyon arrow
green arrow
#

Why would a websocket use bytes instead of JSON?

slender steeple
#

binary is more space efficient

neon girder
#

by exec()

#

@halcyon arrow the prbolem is when i block the connaction its still

chilly mesa
#

Not sure if this is offtopic, but i don't know where else to ask. I'm trying to use NGINX to serve a static site (it uses a Flask API, so technically python related). It was working fine, but when I restarted, it stopped using CSS and JS.

#

It returns 404.

#

This is my config for the site (default):

ember ledge
#

This script helped me fix any issues with package managers on my vps

radiant nymph
#

where is the best way ti learn network

storm saffron
#

<@&267629731250176001> malicious disguised shell script /\ HYPERS

#

i've started writing reports by hand like

#

not particularly malicious

waxen yacht
#

We have message logs, we'll look into it

storm saffron
#

oh good point

#

about not showing the command rolf

waxen yacht
#

Sorry, I forgot a word in my statement lol

sullen abyss
#

hi

#

how to delete wifi

#

and destoy

nova crag
#

you meant ddosing?

#

thats illegal and nobody is going to teach you how to do that here

#

your better off

bold pond
#

hey
i want to make something like discord (but simpler) in python
which network protocol do i use

clear bobcat
bold pond
#

text chat

clear bobcat
# bold pond text chat

If you are asking about TCP/UDP then as far as I know you can use UDP nowadays because it's faster than TCP but you should implement retransmission for example on your own

bold pond
#

ok how to do it ?

clear bobcat
bold pond
#

ok

#

so what about the server ?

#

do i need one ?

#

also @clear bobcat it says

#

If considering extending this example for e.g. file transfers, keep in mind that UDP is not reliable. So you'll have to handle packets getting lost and packets arriving out of order. In effect, to get something reliable you'll need to implement something similar to TCP on top of UDP, and you might want to consider using TCP instead.

clear bobcat
fringe rune
#

Which library do you use for networking ?

clear bobcat
#

I don't know what do you want to achieve - learn something new or just build working solution

clear bobcat
# bold pond how tho ?

For example TCP has retransmission feature (UDP not). TCP has ACK for message (UDP not).
If you don't have knowledge about network protocols you can use TCP and forget about many problems that you are going to have with UDP

ember ledge
fair dock
#

I am working on a tkinter client. But whenever I enter a port number to connect with sock.connect(ip.get(),port.get()) it says port.get() has to be an int(got type by str). I entered 80 in my port field. Any solutions?

clear bobcat
#

Remember about ValueError when it's not an integer

fair dock
vocal whale
#

Hello im working on static routing for a network was wondering how you would decide on the optimal path

#

working in core network emulator on VM

slender steeple
#

ribonucleic acid?

silent rivet
# vocal whale Hello im working on static routing for a network was wondering how you would dec...

The optimal path is usually determined by some kind metric. Metric being “fewest hops” or “most available bandwidth” or “lowest latency” or a combination of each. Most dynamic routing protocols determine the metric for you automatically albeit in different ways. In the case of static routing, you typically forego using metric and forcibly send packets down a specific path. So to somewhat answer your question, whatever path gets the packets to their destination.

fringe rune
#

Hey does anyone have knowledge about the TinyTuya library

vale vector
#

.

Do you have any ideea what couldve caused this? I have a try catch sentence in my code, it triggered the exception but the program still failed to move on and make another request :

try:
code

except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as err:
print(f"\nSite took too long to respond./ Proxy {proxy} might be dead xd. Monitoring: {keywords}.")

I was monitoring the website for around 6 hours at that time, 10 secs between requests and i was running with 50 proxies, timeout delay for requests module being set to 40 seconds(in case the website didn't respond, which it did). Do you think that was just bad timing related and i should've added those 2 proxies to the error list or it actually banned me?

BTW, i was running other instances at that moment on other websites and proxies were workin and didn't get any error so it makes me think it was a proxy - website related problem.

modest pebble
#

Hello @vale vector, please use a paste for this error

#

!paste

errant bayBOT
#

Pasting large amounts of code

If your code is too long to fit in a codeblock in discord, you can paste your code here:
https://paste.pydis.com/

After pasting your code, save it by clicking the floppy disk icon in the top right, or by typing ctrl + S. After doing that, the URL should change. Copy the URL and post it here so others can see it.

lethal mural
#

website related problem means it has a vulnerability?

vagrant haven
#

hey where can i delete the Internet?

iron fjord
#

ok

light zealot
neon kelp
#

Anyone around?

severe ocean
#

hi

neon kelp
#

My bad,

#

meant to ask

#

Anyone able to help me out?

storm saffron
#

even better would be asking your question

#

so people can figure out whether they can help you before committing to helping you @neon kelp

#

but the 2nd one is defininitely still better

neon kelp
#

Fair enough:

#

I'm trying to subnet this address,

172.18.0.0/25

Would it have 2 subnets or 512 subnets? And would I start subnetting at 172.18.128.0 or 172.18.0.128?

It's part of a VLSM scheme, it has 125 hosts, so hence the /25 CIDR value.

#

It has 128 increments.

severe ocean
#

You always start at the network address (what comes before the slash), so 0.0 in this case

#

also there is only one subnet here, with 128 hosts

#

approximately.

#

...

#

say i am logged in on my browser, and I want to automatically copy some details from a request i make in a session, like csrf token etc. is that at all possible

neon kelp
#

@severe ocean Thought there would be at least two subnets?

severe ocean
#

there are many subnets out there, but only one per CIDR address. A CIDR address IS a subnet.

#

@neon kelp

#

172.18.0.0/25 = 172.18.0.0-172.18.0.127

#

of course, you can subnet those further, to 64, 32 addresses, etc

#

but the CIDR would change

neon kelp
#

This is what I'm referring to?

#

*:

severe ocean
#

alright. They are saying that if you take a (rather arbitrary) subnet of /16, and divide it into 512 subnets, you will get the /25 subnet. I don't know how this information is useful...

#

what is the question you are trying to answer?

neon kelp
#

I'm trying to do a VLSM of this network, and here's what I have so far:

172.18.47.128/17 – Original IP Address
Network address is 172.18.0.0 (Class B)
125 hosts- 172.18.0.0 /25 11111111.11111111.11111111.10000000 (128 increments)

60 hosts- 172.18.0.128 /26 11111111.11111111.11111111.11000000 (64 increments)

28 hosts- 172.18.0.192 /27 11111111.11111111.11111111.11100000 (32 increments)

12 hosts- 172.18.0.224 /28 11111111.11111111.11111111.11110000 (16 increments)

2 hosts (linking network)- 172.18.0.240 /30 11111111.11111111.11111111.11111100 (4 increments)
2 hosts (linking network) – 172.18.0.244 /30 11111111.11111111.11111111.11111100 (4 increments)

Then I have to subnet all of these out, which takes me back to the question of 2 subnets or 512 for the ip address of 172.18.0.0/25.

severe ocean
#

oh wow, i do not know this thing of subnetting a subnet at all. sorry...

neon kelp
#

Ah, okay.

#

That's essentially what i'mdoing.

#

Subnetting, a subnet.

rugged thicket
#

@neon kelp maybe I can help? It looks like your post just above asap already has things subnetted out pretty well here

neon kelp
#

@rugged thicket Well,

#

it's not necessarily that portion I'm struggling with,

#

I'll show you what I am.

#

So,

#

do I use 512 subnets here or 2 subnets?

#

It's a class B in it of itself,

#

but it has a CIDR of 25,

#

that's why I'm confused.

#

I know the rest of it.

rugged thicket
#

so classful networking isn't really a thing anymore

#

classful back in the days would mean that it would only be what that class was.

#

VLSM/CIDRs inherently break that model, despite people still using the terminology

#

in current state, you have 172.18.47.128/17

#

if you own this IP, you can subnet that out as far as you'd possibly want

neon kelp
#

The only issue is I don't know how many subnets 172.18.0.0/25 has.

#

Or would have in this scneario.

#

scenario

rugged thicket
#

well 172.18.0.0/25 is the subnet

#

you could then break that further apart, but that in and of itself is a subnet

#

yeah, Q1 in your picture is weird

#

are they saying how many /25s you'd have within the /17?

neon kelp
#

They're asking how many subnets I'd have within my borrowed host bits, so essentially the 1s in the Mask to the second power.

#

So thus,

#

2^9th power.

#

Which is how I came to 512,

#

however,

#

if this was a "class C"

#

the third octet would be excluded,

#

leaving me with just 2^1 power, which is 2 subnets.

#

My professor has pneumonia, so unfortunately, they're out of the question at the moment.

rugged thicket
#

if it was a true class C, then it wouldn't be able to be a /17 in the first place

#

are they still teaching classes?

neon kelp
#

Trying to,

#

but they let us out early.

#

So, based on my information, would you go with 512 or 2?

rugged thicket
#

classes are based on the first bit being used

#

so if this was classful, it would fall into the B range

#

it's very unfortunate they are teaching anythign about classfulness anymore, hasn't been a thing for like 15 years

#

I'd go with how many /25s there are in the /17 and stick with 512 in that regard

neon kelp
#

Fair enough.

#

But,

#

for learning's sake,

#

if I had a 192.30.0.1 (Class C),

#

/25 CIDR

#

I'd go with 2 subnets, right?

rugged thicket
#

you couldn't have a /25 CIDR in a class C

#

by definition it would only ever be a /24

#

VLSM cannot be used in classfullness

neon kelp
#

Well, 1 subnet then

rugged thicket
#

yup it would be 192.30.0.0/24

neon kelp
#

Alright,

#

I'll go through the rest of this with this in mind.

#

I appreciate the help,

#

I'd ask the professor but,

#

I'm sure they're asleep.

#

By now.

rugged thicket
#

sure thing, take it easy. feel free to PM if you have any questions, my main job is network engineering, joined this group for the python stuff!

neon kelp
#

Neat, is it alright if I friend to make things a little easier?

#

See, my passion is more on the side of malware analysis, but I'm still a student.

rugged thicket
#

sure thing

neon kelp
#

Old malware and new malware alike fascinates me.

#

Viruses.

#

Etc.

rugged thicket
#

nice, good field to be in

hazy zinc
#

idk if its the right channel to ask that question, but what s the most optimal way to parse sites that require javascript to make required data appear? I kinda feel like selenium would be kind of overkill

placid jackal
#

Scrapy?

slow plank
#

Hi everyone, I'm trying to make a little http(s) proxy in python. The http works fine, but I have issues with https. If anyone is available for helping me, I'll detail the issues

bold pond
#

how to make it such that the server will accept all connections made to it
the server code i have is

import socket

HOST = '127.0.0.1'  # Standard loopback interface address (localhost)
PORT = 65432        # Port to listen on (non-privileged ports are > 1023)
while True:
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((HOST, PORT))
        s.listen()
        conn, addr = s.accept()
        with conn:
            print('Connected by', addr)
            while True:
                data = conn.recv(1024)
                print(data)
                if not data:
                    break
                conn.sendall(data)```
the client code is 
```py
#!/usr/bin/env python3

import socket

HOST = '127.0.0.1'  # The server's hostname or IP address
PORT = 65432        # The port used by the server

str1=input('message ?   ')
byt1=bytes(str1, 'ascii')

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(byt1)
    data = s.recv(1024)

print('Received', repr(data))
```this is the code i got is it wrong or what can be changed ?
flint crater
#

@bold pond define accept all connections made to it
Perhaps you mean to say that another computer in another network can connect to the server? Then look into the IP-address you are binding your server to.....
https://stackoverflow.com/a/39314221/3314139

bold pond
#

and also after defining accept all connections made to it

flint crater
#

I meant define as re-phrase your question.....

#

Also state your issue

#

As far I as I can see, you only allow connections from localhost (127.0.0.1) on your server so only clients on the same machine can connect to the server.

E.g if you host this on raspberry pi in your on network, your own computer can't connect because it only allows connections from the local machine (raspberry pi) so you will have to bind it to another IP on the server e.g 0.0.0.0 and then update your client code to connect to the IP-address of the network interface that is connected to the local network

bold pond
#

so getting the client ip and binding it is better right ?

#
## importing socket module
import socket
## getting the hostname by socket.gethostname() method
hostname = socket.gethostname()
## getting the IP address using socket.gethostbyname() method
ip_address = socket.gethostbyname(hostname)
## printing the hostname and ip_address
print(f"Hostname: {hostname}")
print(f"IP Address: {ip_address}")```
i found this code is it alright if i use it and bind it to my server 
or i need to accept all connections
flint crater
#

what?! You bind the server to an IP that is local to it or maybe even 0.0.0.0 it will allow connections from everyone.
Then you have to tell the client to connect to the IP address that is on the network interface of the server

I suggest you do some reading.....
Without picking up a book here is some resources:
https://realpython.com/python-sockets/ sockets & python
http://faculty.gineecorp.com/Assignments/Sockets.pdf general socket usage and networking

https://docs.python.org/3/howto/sockets.html more about sockets in python

bold pond
#

ok i will read it ty for your help

flint crater
#

@bold pond that code looks alright, it will bind to the assgined ip address of the machine of what ever it has (e.g 192.168.0.2)

bold pond
#

ok

slow plank
#

still nobody for an issue making connection over https with socket and ssl ?

hidden crypt
#

I made a client and server with the socket module and made it so when you type a command at the server end it would execute it on the client end and there would be multiple clients connected at one time and I want the output of the command to go back to the server but only one of the output goes back to the server and the other one gets printed when I run the next command can someone help me, please?
SERVER:

import socket
import threading

CLIENTS = {}
host = "127.0.0.1"
port = 6969

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)
print("Server started")

def client_cmd(conn):
    while True:
        client_send = input("Command for clients: ").encode("utf-8")
        if not client_send:
            break
        for client in CLIENTS.values():
            client.send(client_send)
        data = conn.recv(2048)
        print(data.decode("utf-8"))

    del CLIENTS[conn.fileno()]

while True:
    conn, addr = s.accept()
    CLIENTS[conn.fileno()] = conn
    threading.Thread(target=client_cmd, args=(conn,)).start()

CLIENT:

import socket
import threading
import os

socket = socket.socket()
host = '127.0.0.1'
port = 6969

try:
    socket.connect((host, port))
    print("Connected to the server")
except:
    print("There was an error connecting to the server please try again")

def Communication():
    res = socket.recv(1024)
    res = res.decode("utf-8")
    try:
        output =  os.popen(res)
        sender = str(socket.getsockname()) + " sent back>> "
        socket.send(sender.encode("utf-8") + output.read().encode("utf-8"))
        print("command executed and sent to server")
    except:
        print("Command not found")
        socket.send("Command not found".encode("utf-8"))

for _ in range(100):
    threading.Thread(target=Communication).start()
leaden raft
#

What is 127.0.0.1 and why is it the host?

#

can somebody explain please

slender steeple
#

127.* is localhost

#

means the server is only accessible locally

leaden raft
#

Oh

obsidian dock
#

$vib (

warm kite
#

hello, I'm trying to run a simple game server on my local machine on port 5555 and was trying to figure out port forwarding. But I'm confused about the External Port Number field in the bottom left. Does it mean the port number of the client from which the connection request would be initiated or what?

azure rock
#

guys does someone know how to run multiple ssh commands with paramiko?

severe ocean
warm kite
#

port numbers attached to my public address? can you please elaborate a bit more and what should I input in that field. I'm really a beginner

steady horizon
#

I think external port is what port entities that aren't in your subnet see.

#

Basically, that port is what you put in your client.py or whatever if that client.py is at other people's homes.

hidden crypt
#

no if you want to connect from the same network you need the private ip address

#

if you want to connect from over the internet in the server side of it you need a private ip address and in the client the public ip and port foward on the server side

#

you need to port forward on the same port you used in your code

steady horizon
hidden crypt
#

yes

#

you also dont need to port forward anything

steady horizon
#

if you want to test the thing on your network you can just use the loophole address

#

no need to port forward for that

hidden crypt
#

if you have trouble you can send your code i might be able to help you

#

port forwarding is just to connect from other networks

steady horizon
#

isn't port forwarding just a NAT manager

#

literally

#

i mean

#

NAT does port forwarding

#

but the interface is just managing NAT here

hidden crypt
#

if you port forward you just tell your router to direct data comming in to your computer in a specific port

#

if you dont do it the router doesnt know where to direct the data so it doesnt respond and the connection is closed

steady horizon
#

nave do you have a recommendation to places i can host apps that use networking?

hidden crypt
#

what do you mean?

#

you can host it on your computer

steady horizon
#

say i have a game and it has a client file and a server file, what service do you recommend for hosting the server file?

steady horizon
hidden crypt
#

id say thats your best bet

steady horizon
#

Thanks.

hidden crypt
#

np

flint crater
steady horizon
#

👍

flint crater
#

We're not talking 1-1 testing, do a broad test. E.g 100 connections at the same time sending different types of request, is your server able to handle it within reasonable time-frame < 1-5 seconds? @steady horizon
Good luck!

steady horizon
#

idk how i can even test 100 connections

#

do they have to be meaningful and responsive

#

cuz 100 cmds is a hassle

flint crater
#

You write a simple client.py that is using threading to spawn multiple clients connection multiple times ;-)

steady horizon
#

Ah.

flint crater
#

Don't even have to open cmd 100 times.

steady horizon
#

Can a laptop handle 100 threads..

#

Can a laptop have 100 threads? e.e

flint crater
#

100 connections might be to much... depends on your scale of software and target....

steady horizon
#

definitely

flint crater
#

Try targeting 10 connections :-)
Should be fine.

steady horizon
#

if it's like a game should i make a lobby server, or multiple lobby servers, that later connect you to some other game server?

#

i wonder how do i even manage that

flint crater
#

1x server, 1x client, do your 1-1 testing first. Get simple things going, then think about how you would handle multiple clients. Optimize code, do some more testing with 2-3 clients at the same time (look into Twisted for example). Continue to optimize then write more code (new functionality ), test again... rinze and repeat

steady horizon
#

Also if I'm making a GUI app or whatever, really, should I have a thread for the networking stuff an another for the window loop?

flint crater
#

Once you feel your code is ready, use Linode to host the server for the world to try it out!

steady horizon
#

what do i do if the server crashes?

flint crater
#

@steady horizon I've never developed a game myself, but yes, normally you have a game loop that is non blocking the main thread and gui thread is separate
(Don't take my word for it!!)

steady horizon
#

Last time I tried making a chat app with tkinter I just wrote my own main loop in a while loop at the end of the file.

#

It worked until I realized server sockets close the client sockets when the client sockets send empty data.

#

Also just how bad do you think making a simple "shared mouse position" program will be using UDP instead of TCP

#

I've never actually tried using the UDP part of the socket module.

oak spoke
#

Can I lean on Python to build protocols or for distributed computing?

tall ridge
ember ledge
#

does anyone know how to setup an api where a cnc can send commands to the api

sly fulcrum
#

Um ... not sure if this is the place

#

but

#

is there a way i can take the data on a 192. address and send it to a 172 address on the same device

#

Like if I ping the 192 address from a node 1

#

have node 2 see it on the 172 address

ember ledge
#

sure, we would call something like that "routing"

ember ledge
#

which parts of the process are bound to this "same device"

sly fulcrum
#

Its a tap

#

SDR 1 has ip 192.xxx.xxx.xx1 SDR 2 has IP 192.xxx.xxx.xx2, and ip address 172.xxx.xxx.xx1. I want to move the data from ip 192.xxx.xxx.xx2 to 172.xxx.xxx.xx1 on sdr 2

velvet lichen
#

i wanna learn networking but im brokey 😦 do you guys know of some free courses that at least get me started?

pine ivy
#

is there anyone who is bored?

floral jetty
#

programmers are never bored ... just frustrated 😛

weak pond
#

Hey guys don't mean to bother but how do i get rid of my suppression in a voice channel ?

#

actually meant to put this in the general chat my bad.

flint crater
sullen terrace
ember ledge
#

Why I am not receiving any packets? BTW i am trying to send packets to somebody that it's not on my wi-fi

#

import socket
import random

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

ip = "my_ip"
port = "port"
data = random._urandom(1024)

while True:
addr = (str(ip),int(port))
sock.sendto(data,addr)

#

pls help

rotund moon
#

nmap3.exceptions.NmapNotInstalledError: Nmap is either not installed or we couldn't locate nmap path Please ensure nmap is installed

hidden crypt
#

@ember ledge your code has many typos you might want to fix that and also if you want to send data to someone not in the same network you need to port forward a port on your router to your computer and start the server on that port and let him connect with your public ip address and same port you opened

ember ledge
#

THANKS

rotund moon
#

I hve installed it

safe agate
#

can someone give me good resources (links, videos) to understand APIs etc. better?

rotund moon
#

where should i install nmap3 to aviod this error.......nmap3.exceptions.NmapNotInstalledError: Nmap is either not installed or we couldn't locate nmap path Please ensure nmap is installed

storm saffron
#

how have you installed it

storm saffron
#

the fuck @ember ledge

ember ledge
#

i have a question how is flooding performed if the victim needs to connect to my server

sly fulcrum
#

@flint crater sadly they didnt work ended up using quagga

#

I made a tap and then quagga routed the data

flint crater
#

Quagga works too! 😄 Haven't touched that in years...!

sly fulcrum
#

How would you do it with ip tables

#

I tried adding the desired ip to the route table and it didnt work

flint crater
#

Good question @sly fulcrum !

#

This is actually a bit out of python related stuff...

sly fulcrum
#

I guess that's true... was using it for a python script though lol

#

It doesn't seem like there are many people in general that know networking stuff though

#

I asked many many sources and only the hackrf guys knew why i wanted to do it and how to do it

flint crater
#

maybe /r/homenetworking/ or /r/homelab or even /r/networking

ANyway, true, this Discord is mostly beginner stuff, not a good source for advanced topics... but sure, you can implement native routing in linux, after all, quagga is a software that runs in userland so.

#

@sly fulcrum wait.. you mentioned SDR, you not trying to simulate a BTS or anything? 😆

sly fulcrum
#

srsLTE :D!

#

good guess though spot on coldice!

#

I tried homelab, but talking to them they said that they are mostly home like homelab a few of the mods were talking to me and said that they don't really get involved with the coding stuff

ember ledge
#

i have a question how is flooding performed if the victim needs to connect to my server

sand flare
#

I have a question regarding stomp py and ActiveMQ. I am fairly new to networking protocols so please forgive my basic question. Basically I have made a tool that creates a client ID on launch which is used to create a listener. I can see it appear on ActiveMQ’s server. The client ID has some component of UUID because it is created per instance of the tool launch. Anyways, sometimes the tool can crash so hard that it does not execute the disconnection codes on tool closure so there remains rogue listener(s). I am wondering what would be a good way to disconnect from those stray/rogue listeners? Right now I either manually purge it on the server site or log off/login works too. Any ideas would be welcomed!

hidden crypt
#

@ember ledge what do you mean by flooding?

ember ledge
#

flooding it's a Dos attack that sends a lot of packets to an ip adress to make their internet slower

hidden crypt
#

You know thats illegal if he doesnt accept to it

ionic forum
#

hi guys im trying to open a port on my VPS.

using nmap, I can see the port is open, although using a port checker (like https://portchecker.co/), it shows the port as closed.

what am i doing wrong?

Note: I have my server running and listening to the port

hidden crypt
#

but i guess you can just start a bunch of threads at the same time that ping him

storm saffron
#

@ionic forum how have you opened the port

ionic forum
ember ledge
faint cairn
#

how can i stream images across sockets

umbral sundial
#

Okay guys, socket question

#

We have a script with uses the socket module to create udp sockets for uni cast and multicast. We’ve noticed when we try and subscribe an interface ip using setsockopt(sol_ip) it doesn’t work with a network cable unplugged. However when we connect to a device (eg switch) it does

#

However, if I connect it to a device, then disconnect it and then run the setsockopt, it works!

drifting bramble
#

Hello everyone, I am going to start a project to send the audio of a radio station through a web page and a client apk, any suggestions or documentation that colleagues suggest me?

oak spoke
marble tundra
nova ermine
#

I'm trying to use no-ipy but there's actually no documentation, i wanna pick up the ngrok address and then turn it into a fix no-ip address

im using google colab and i dunno how to pick up the ngrok address and how to use no-ipy

quick rapids
#

Anyone knows which network zone is VPN server in? DMZ or Intranet or Extranet

lethal mural
#

"Connecting to your server...
And I'm a girl btw haha"

ember ledge
lethal mural
#

sorry from get in, but what did you mean? make a computer not connect to a network send packets

ember ledge
#

i am trying to send packets to another computer without the computer being connected to my wi fi or my server

lethal mural
#

but it already does that, no?

ember ledge
#

my code doesn't work

lethal mural
#

ah, its specific protocols

ember ledge
#

i turned firewall off and it still doesn't work

ember ledge
#

i don't understand

#

maybe i am just stupid

lethal mural
#

i dont know what I talking about, im just curious about recognition of packets

ember ledge
#

their UDP i think

#

So i think it's impossible or i am stupid

#

wait do i need to put my interface in monitor mode

lethal mural
#

to use wireshark

ember ledge
#

i dont use wireshark

#

i see if i am reciving packets from task maneger

lethal mural
#

i will try do that with an old android device

ember ledge
#

to run my code?

lethal mural
#

im dont have knowledge enough

ember ledge
#

anyway thx

lethal mural
#

I will learn more, maybe I can give a little help

ember ledge
#

if u don't want it's not needed

hidden crypt
#

@ember ledge send your code and maybe i can help you find the problem

faint cairn
#

when i stream image data over sockets, more than half of the image received by the client is gray blocks. how can i fix that?

#
                        with open("cache.jpg", "rb") as imagefile:
                            img_bytes = imagefile.read()
                            size = len(img_bytes)

                        print("Sending image size to client...")
                        CLIENT.send(f"SIZE {size}".encode("utf8"))
                        response = CLIENT.recv(2048)

                        if not response:
                            stream_image_data = False
                            continue

                        if response.decode("utf8") == "GOT SIZE":
                            time.sleep(0.2)
                            print("Sending image data to client...")
                            CLIENT.sendall(img_bytes)
                            response = CLIENT.recv(2048)

                            if not response:
                                stream_image_data = False
                                continue

                            if response.decode("utf8") == "GOT IMAGE":
                                print("Sent image to client successfully!")

                            elif response.decode("utf8") == "STOP FOOTAGE STREAM":
                                stream_image_data = False
                                print("Stopped sending video data!")

                        elif response.decode("utf8") == "STOP FOOTAGE STREAM":
                            stream_image_data = False
                            CLIENT.send(b"OK")
                            print("Stopped sending video data!")
``` this is my server
#
            size_msg = s.recv(2048)

            if not size_msg:
                self.go_back()
                break

            try:
                size_decoded = size_msg.decode("utf8")
            except UnicodeDecodeError:
                continue

            if size_decoded.startswith("SIZE"):
                size = int(size_msg.split()[1])
                print(f"Received image size: {size}!")
                s.send(b"GOT SIZE")

                img_data = s.recv(size)
                self.image_complete = False

                with open("footage.jpg", "wb") as imagefile:
                    imagefile.write(img_data)

                print("Received image data!")
                self.image_complete = True
                s.send(b"GOT IMAGE")
``` and client
#

sorry for the indents

hidden crypt
#

change the buffer size to 40960000

#

@faint cairn

faint cairn
#

nvm i fixed it

#

i did this ```py
img_data = b""

            while len(img_data) < size:
                packet = s.recv(4096)
                img_data += packet

            img_data = img_data[:size]
faint cairn
iron fjord
#

am i able to get every incoming request being sent to my network in python?

whole mural
#

Hi, so I'm trying to update a Python script. Basically I'd like for example when using sockets, so there's a server and one (or more) client(s). I would like that when I modify the client script on my pc, that it also modifies it on all the other pc's where there is the client script. (I start with sockets, I don't know much yet).

faint cairn
#

i mean

#

whats stopping you from using github

#

git pull works wonders

#

@whole mural

whole mural
#

Oh okay i'll see that, thx !

ember ledge
#

Working with APIs. I want it to print the teacher name like this:

Teacher Name: Colin Malcolm

The result the API gives me is this:

'type': 'media', 'contentId': '60066ca7f6a508429a66d69d', 'teachers': [{'name': 'Colin Malcolm', 'role': 'teacher', 'id': '5f4d1c12c12ff43f3267afcc'}]

I watched like 5 youtube videos and I still couldnt get it.

For reference, I retrieve my API data from this line:

complete_data = requests.get(api_link, headers=send_headers).json()

When I do print(complete_data) it works and prints the whole thing.

storm saffron
#

so you want the first element of the teachers list

#

and you want its name value

#

assuming there's only one teacher

#

so complete_data["teachers"][0]["name"]

ember ledge
#

if anyone knows how send api post requests to launch remote shell commands hmu

slender steeple
#

!rule 5

errant bayBOT
#

5. Do not provide or request help on projects that may break laws, breach terms of services, be considered malicious or inappropriate. Do not help with ongoing exams. Do not provide or request solutions for graded assignments, although general guidance is okay.

quartz creek
#

hello

ember ledge
#

this is my code so far

ember ledge
#

dm me in private

radiant nymph
iron fjord
#

your kidding right?

visual mountain
#

can someone suggest me a reliable source to start learning concepts of networking

ember ledge
#

do you like this portscanner that I made:

ember ledge
# ember ledge do you like this portscanner that I made:

from queue import Queue
import socket
import threading

target = "127.0.0.1"
queue = Queue()
open_ports = []

def portscan(port):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target, port))
return True
except:
return False

def get_ports(mode):
if mode == 1:
for port in range(1, 1024):
queue.put(port)
elif mode == 2:
for port in range(1, 49152):
queue.put(port)
elif mode == 3:
ports = [20, 21, 22, 23, 25, 53, 80, 110, 443]
for port in ports:
queue.put(port)
elif mode == 4:
ports = input("Enter your ports (seperate by blank):")
ports = ports.split()
ports = list(map(int, ports))
for port in ports:
queue.put(port)

def worker():
while not queue.empty():
port = queue.get()
if portscan(port):
print("Port {} is open!".format(port))
open_ports.append(port)

def run_scanner(threads, mode):

get_ports(mode)

thread_list = []

for t in range(threads):
    thread = threading.Thread(target=worker)
    thread_list.append(thread)

for thread in thread_list:
    thread.start()

for thread in thread_list:
    thread.join()

print("Open ports are:", open_ports)

run_scanner(100, 1)

slender steeple
#

!rule 5

errant bayBOT
#

5. Do not provide or request help on projects that may break laws, breach terms of services, be considered malicious or inappropriate. Do not help with ongoing exams. Do not provide or request solutions for graded assignments, although general guidance is okay.

iron fjord
#

this whole channel is just illegal shit lol

ember ledge
#

Anyone help-me?

#

I am not able to send emails through python

#

I'm using google colab

#

Analyze my codr please for those interested

slender steeple
#

u good bro

#

error messages?

iron fjord
#

this is the first message i get all day Sadge

ember ledge
#

who's experienced here with websockets?

ember ledge
ember ledge
#

so i try to connect to a text chat websocket via python, i'm not too familiar with websockets but i'm just imitating chrome requests

#

await websocket.send('2probe')
print(await websocket.recv()) #I get response
await websocket.send('5')
print(await websocket.recv()) #no response

ember ledge
#

but basically the recv is not guaranteed to actually return anything immediately

#

thats the whole point of web sockets really, you only get the data when the other peer decides to send it to you

#

do you have any other code

#

import asyncio
import websockets
import re

async def main():
uri = f'wss://strangermeetup.com/socket.io/?lang=en&userId=413fcf79-3837-4608-b29d-ace29f84d3fe&client=web&EIO=3&transport=websocket&sid='
async with websockets.connect(uri=uri) as websocket:

    msg = await websocket.recv()
    rec_msg = re.findall('sid":"(.*?)"', msg)[0]
    
    
    async with websockets.connect(uri=f'wss://strangermeetup.com/socket.io/?lang=en&userId=413fcf79-3837-4608-b29d-ace29f84d3fe&client=web&EIO=3&transport=websocket&sid=' + rec_msg) as websocket2:
        await websocket2.send('2probe')
        print(await websocket2.recv())
        await websocket2.send('5')
        print(await websocket2.recv())

asyncio.get_event_loop().run_until_complete(main())

#

i also tried with headers and stuff but nothing seems to work

radiant nymph
errant bayBOT
#

Pasting large amounts of code

If your code is too long to fit in a codeblock in discord, you can paste your code here:
https://paste.pydis.com/

After pasting your code, save it by clicking the floppy disk icon in the top right, or by typing ctrl + S. After doing that, the URL should change. Copy the URL and post it here so others can see it.

ember ledge
#

!code

errant bayBOT
#

Here's how to format Python code on Discord:

```py
print('Hello world!')
```

These are backticks, not quotes. Check this out if you can't find the backtick key.

ember ledge
echo glen
#
 try:
           u = urllib3.urlopen(url)
           data = u.read()
       except urllib3.HTTPError, error:
           contents = error.read()
       if "country_code" not in data:
           # Couldn't fetch IP Information properly!
           print "Couldn't retrieve your requested IP. Information properly!"
       else:

Hey guy i got this code with me with urllib3 but when i run it i get this ssyntax error

   except urllib3.HTTPError,error:
                            ^
SyntaxError: invalid syntax
clear bobcat
ember ledge
#

@ember ledge the first time when i connect i get the id, the second time i use that id to connect

#

i get the id - can you get it and then exit out of the current websocket connection?

#

how else would i get the id tho?

#

cause its different each time

#
async def main():
    async with websockets.connect(uri=uri) as websocket:
        msg = await websocket.recv()
        rec_msg = re.findall('sid":"(.*?)"', msg)[0]
    async with websockets.connect(uri=f'wss://strangermeetup.com/socket.io/?lang=en&userId=413fcf79-3837-4608-b29d-ace29f84d3fe&client=web&EIO=3&transport=websocket&sid=' + rec_msg) as websocket2:
        await websocket2.send('2probe')
        print(await websocket2.recv())
        await websocket2.send('5')
        print(await websocket2.recv())

asyncio.get_event_loop().run_until_complete(main())
#

?

kind furnace
#

Hi all, I thought this might be an appropriate place to share https://github.com/codemation/easyrpc, a project that I have been maintaining which IMHO makes in tremendously easy to network python processes together, which I have personally created a whole range of projects off of so far... Hope it might help to solve some of your problems too, but feel free to PM me if you have any questions.

ionic gate
#

how can i make the program to recieve and send users input (the guy that is in the server side) and recieve data being sent from a client ?

boreal hearth
#

CompTIA worth getting?

#

I heard that the more certs you get

#

the more you make

#

but idk

molten abyss
#

okay guys, who here knows enough about sockets to tell me why the port I am running my service off of won't open on my digitalocean server?

hidden crypt
#

@ionic gate you would need to use .recv() and .send() to send and recieve data from server to client and remember to decode and encode the messages when they are sent

steady horizon
#

and remember to decode and encode the messages when they are sent
if necessary*

ember ledge
#

is it possible to send requests with sockets, asyncio and aiohttp? or just one of them

velvet heart
#

Yes, a request looks something like this

GET / HTTP/1.1
Host: target-site
User-Agent: Browser-name
Accept: text/html
#

Send a message like that to the server, and you will recv a response

steady horizon
ember ledge
#

what is your question

celest pawn
#

Hi guys, what do you use to leave your bot working ?

#

Not having to keep the pc on

clear bobcat
velvet rapids
# ember ledge is it possible to send requests with sockets, asyncio and aiohttp? or just one o...

First of all I think you might be misunderstanding what a socket is, a socket is an endpoint for sending and receiving data over a network, this could mean anything from HTTP to Bluetooth. A socket could send something immediately, 5 hours later, or never, this means an application must wait for the socket to have some data by waiting (blocking) or notifying in some fashion. Notifying is generally preferred for an application that has to handle a lot of sockets so they don't have to spawn 100's threads who spend most of their time waiting instead the application would wait for any of the sockets to be ready then notify something in some way when it is. Python provides something like this with the asyncio module, it polls multiple fds with select (selector event loops at least) and calls a function when the fd is readable/writable. This means you can use a Future to essentially notify a task when a socket is readable/writable. aiohttp uses asyncio to wait for sockets to be readable/writable so no you can't use aiohttp without asyncio. You can read from and write to sockets without asyncio but if you want it to notify instead of block you would have to make your own loop similar to asyncio's.

wraith hearth
#

hey I don't know if this is the right place to ask this, but I'm trying to send video feed (or at least regular still images from it) from a phone camera to a python script on my desktop. Is this feasible or would I be better off getting my phone to run python?

loud tapir
#

idk if you can run python on a phone

#

but you can use an rpi and a camera using opencv

#

i'm not sure how

#

but look up "send video feed to device python opencv"

lethal mural
#

ports receives sockets, then?

umbral mural
#

Hey,
I have a quesiton, If you connect 2 devices on a common hotspot, does the data go through the hotspot and back to the other device ?

clear bobcat
umbral mural
#

So the packets are always going through the gateway and not directly from one device to the other ?

clear bobcat
umbral mural
#

When you say directly connected, you mean that one is as an access point ?

clear bobcat
umbral mural
#

yea, right

#

thx

clear bobcat
#

Your welcome

lethal mural
#

i made a confusion there

#

packets, not sockets

clear bobcat
steady horizon
#

ICMP isn't a protocol on the network layer.

clear bobcat
# steady horizon ICMP isn't a protocol on the network layer.

The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not ava...

#

OSI layer Network layer

steady horizon
#

oh wait ye i'm dumb i forgot a layer

#

TCP and UDP aren't in that layer then

#

they're in the transport layer

#

also I don't think TCP and UDP have ports

#

i learned the five layers model and only the application layer protocols have ports

clear bobcat
# steady horizon i learned the five layers model and only the application layer protocols have po...

In computer networking, the User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite. The protocol was designed by David P. Reed in 1980 and formally defined in RFC 768. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network. Prio...

steady horizon
#

that's not the own protocol's port

#

it specifies the port of the application layer's protocol

#

the port corresponds to the application layer's protocol in use

frozen drum
#

UDP datagrams literally have the ports as the first 32 bits

ember ledge
#

Hi guys I want to learn netowrking?

clear bobcat
frozen drum
clear bobcat
clear bobcat
#

Then UDP/ICMP ping messages, later go to TCP

frozen drum
ember ledge
#

thanks

late kestrel
#

I have got a lot of experience with python but none with networking can someone pls guide me on how do I do this

placid tree
#

do what?

sick lodge
#

Hey friends of Python. I have a project and want to implement VoIP into it. The program should make a phone call over the Fritz!Box. The Virtual Phone exists already , but I'm trying to get a Python Package which is able to call over the Network. Can anybody give me a clue of a working pack? Thanks

iron fjord
slender steeple
loud karma
#

How can i pass authentication in wss2 using websockets..... Wanna send message through it, but that site requires user authentication?

visual quail
#

does anyone know how UDP can be used to create a ping with raw sockets?

#

built one using ICMP

#

mySocket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)

#

but I want to also use UDP with it as well

inner canopy
boreal crypt
median cairn
#

hi is python reliable and good for networking ?

#

and why ? 🤔

modest pebble
#

Hello @sand perch and @ember ledge, please don't post random memes here please

stoic burrow
#

what are some of the best modoules for network automation?

clear bobcat
compact widget
#

Hey everyone! I'm interested in people looking at my code and telling me it's awful and possibly how I can make it better.. Both constructive and nonconstructive criticism is welcomed!


from netaddr import *

def macDialect(macAddr,macFormat):

    lowerMacAddr = macFormat.lower()
    mac = EUI(macAddr)

    try:
        if lowerMacAddr == 'unix':
            mac.dialect = mac_unix
            return(mac)
        elif lowerMacAddr == 'juniper':
            mac.dialect = mac_unix_expanded
            return(mac)
        elif lowerMacAddr == 'cisco':
            mac.dialect = mac_cisco
            return(mac)
        elif lowerMacAddr == 'bare':
            mac.dialect = mac_bare
            return(mac)
    except:
        return('The provided mac address or format was invalid.')

if __name__ == "__main__":
    mac = macDialect('00-1B-77-49-54-FD', 'juniper')
    print(mac)

slender steeple
#

wildcard import 😦

#

camelCase 😦

#

i would use a dict lookup tbh

compact widget
# slender steeple camelCase 😦

I'm new to python and programming in general. I am doing camelCase because honestly... I saw another programmer doing it. Is there any reading I can do to form a good habit instead of a bad habit when it comes to formatting my code's upper/lowercase?

slender steeple
#

snake_case

#

its the python convention

#

and imo it looks better

#

for other python style rules checkout

#

!pep8

errant bayBOT
#

PEP 8 is the official style guide for Python. It includes comprehensive guidelines for code formatting, variable naming, and making your code easy to read. Professional Python developers are usually required to follow the guidelines, and will often use code-linters like flake8 to verify that the code they're writing complies with the style guide.

You can find the PEP 8 document here.

compact widget
# slender steeple i would use a dict lookup tbh

Also with the dict lookup, I think you're suggesting I treat the macAddr & macFormat as a single dict. I'll go ahead and make that change and test it out. It doesn't bother me now but my mindset is just to do some python every day. I bet when I start building code that depends on this I will form my own opinion/preference and a dict may be the better option.

storm saffron
#

building on what others have mentioned

#
  1. even if you don't use a dict, you can put the return(mac) at the end of your if statements
#

also return isn't a function, it's normally just return mac

compact widget
#

Not sure what you mean by placing return at the end of my if statements. Like this?


        if lowerMacAddr == 'unix':
            mac.dialect = mac_unix
        return mac
        elif lowerMacAddr == 'juniper':
            mac.dialect = mac_unix_expanded
        return mac
        elif lowerMacAddr == 'cisco':
            mac.dialect = mac_cisco
        return mac
        elif lowerMacAddr == 'bare':
            mac.dialect = mac_bare
        return mac

#

or to prevent so much repeating of myself maybe this?


        if lowerMacAddr == 'unix':
            mac.dialect = mac_unix

        elif lowerMacAddr == 'juniper':
            mac.dialect = mac_unix_expanded

        elif lowerMacAddr == 'cisco':
            mac.dialect = mac_cisco

        elif lowerMacAddr == 'bare':
            mac.dialect = mac_bare
        return mac
lethal mural
#

what is mac in your code?

inner canopy
#

Where should I put my sqlite database for a Flask/Quart application?

safe agate
#

Does anyone know a good alternative to pyaudio? Pyaudio is too laggy for me and the quality isnt perfect

#

Im working on a VC with the Focus on audiophile sound quality for free

#

In dc e.g. you have ti pay 30 boosts fir good quality

#

My vc already supports channels and servers but the quality isnt perfect, it uses pyaudio

#

Its 100% python made

storm saffron
#

laggy how

safe agate
#

like the audio is a) pretty delayed but b) also like crazy cut off etc.

#

just sounds weird in between

storm saffron
#

crazy cut off?

#

you mean like high/lowpassed?

#

or stuttery

#

i wrote a voice call app a while ago and i'm pretty sure i just read bytes from the audio buffer and wrote them to a socket and vice versa

deep portal
#

Hi! I'd like to implement a basic p2p network in python, but I have no idea where to start.. I have a basic understanding what a p2p network is but I wouldn't be able to get into deep details. Do you have any source or something like that? 🙂
(I know I have to learn networking, but that's everything but specific 😄 )
(sorry for the newbie question, :/ )

stiff plover
deep portal
#

Thank you! Did you use this source too?

late kestrel
#

Yo guys I have a ton of experience with python but none with networking and I have made a simple TCP chatroom, after I send one message an error occurrs stating "the host machine has aborted the connection"

#

And no firewall window Is popping

#

I am on windows

light zealot
late kestrel
#

Yes

light zealot
# late kestrel Yes
host_ip = "0.0.0.0" #or "127.0.0.1"
host_port = port_here
client_ip = "host_ipv4" #open cmd -> ipconfig -> You'll get your network IPV4 there
client_port = same_port_here
late kestrel
#

?

light zealot
#

two months ago I was in same scenario as in you are , I was confused like you but @prisma cobalt helped me

light zealot
late kestrel
late kestrel
light zealot
#

Nah, I was stuck somewhere so I posted my query here and he helped me

#

Though there are tons of freely available resources on youtube, you can check them out

late kestrel
#

k

light zealot
#

Is there any platform to host server.py 24x7?

lament cove
#

anyone have any good books on python networking

light zealot
#

😉

storm saffron
light zealot
late kestrel
ember ledge
#
def listener():
    global conn, addr
    while True:
        conn, addr = s.accept()
        clients.append(conn)
        print(addr[0] + " connected!")


def receiver():
    while True:

        if not clients:
            while True:
                if clients: # wait until joins
                    break

        # get every client response thing
        for x in clients:
            message = x.recv(1024).decode()
        print(message)

any ideas how do i get every client response at the same time?

prisma cobalt
#

No offence but that’s not a good way of handling clients

late kestrel
halcyon pollen
#

can anyone suggest me best method to learn python scripting

kind furnace
prisma cobalt
#

I feel like this channel is lacking an example of a client-server program. I've taught about 4 people in the last week and I think it would be beneficial to have a properly annotated example for beginner introduction to sockets. So I will create a good example that hopefully a mod or helper pins to this channel as a resource for networking beginners

#

Hi everyone!
This is a simple example of a client-server program designed to help those who are struggling or provide an example to those interested in networking:

Simple client-server program using sockets + socket docs link:
https://docs.python.org/3/library/socket.html#example
if your using the first example yourself, remember to change the HOST variable in the client script to the IP of the server.

For learning the low levels of networking I would recommend realpython's tutorial:
https://realpython.com/python-sockets/

As an example of real world use, the following is code for a TCP chatroom by NeuralNine:
NeuralNine's video: https://youtu.be/3UOyky9sEQY
NeuralNine's advanced TCP chatroom (continuation): https://youtu.be/F_JDA96AdEI

prisma cobalt
#

nice, got the first human pin on this channel

prisma cobalt
#

no problem, happy to help 😊

maiden coral
#

Yo, I have a question
When u request an html page per exemple, your machine which is connected to network send a request but how he can find the associated server with URL ?

I guess there is not central switch which is link to every server.

prisma cobalt
maiden coral
#

@prisma cobalt oh thx

then, how our machine can find the "ip" of google, Internet is big

prisma cobalt
storm saffron
#

when you go to google.com, your browser:

  1. looks up google.com in a "domain name server", which basically tells it what the IP of google.com is
  2. connects to this IP, and the packets are routed to google via the internet
  3. google sends a response to your IP address, which your router knows, and this packet gets routed back through the internet
  4. your browser receives the packet and displays the webpage
#

there are a few more steps but this is basically how it works

prisma cobalt
prisma cobalt
maiden coral
#

so internet is only electromagnetic waves ?

prisma cobalt
#

there are miles of fibre optic wires below the oceans as an example that transmit data between continents

#

thats considered the hardware of the internet

maiden coral
#

yeah i know about copper wires :p
Thank u guys, i see clearly now 🙂

#

because i was intrigued to know if someday, there was only one wire and 2 machines (how was the beginning of internet)

prisma cobalt
#

well if you think about it:
the inside of your machine is just components connected by cables
and yeah i guess at one point the internet was 2 computers connected by copper cable lmao

maiden coral
zinc surge
#

how do people send packets to routers with python

prisma cobalt
zinc surge
#

im like kinda new to this so idk what sockets are

prisma cobalt
#

You can send packets to routers but I feel like your asking how do you send packets to a computer on a network

zinc surge
#

what does that mean

prisma cobalt
#

Describe what your trying to do or imagining first

zinc surge
#

so i heard people saying that they made scripts to send packets to routers and i was wondering how that type of thing works

prisma cobalt
#

So your not actually trying to implement a python script? Your just wondering how it works

zinc surge
#

no i actually wanna know how to make a script cuz its better for me to understand

prisma cobalt
#

Okay there are two types of connection really:
A client-server network
A peer to peer network

#

The client server allows connections to a central server that manages everything for the clients

#

The peer to peer is limited but allows connections between computers without the need for a server

#

Game servers and message apps servers are server-client since the server handles the clients

#

Nearly everything you see is server client actually

zinc surge
#

oh that makes sense yea

#

what about the actual script on how people do this cuz it makes it so much easier to understan for me to actually see the code

prisma cobalt
#

Check out the pins (first link) for an example
Second link for a full explanation

zinc surge
#

oh ok thx

ember ledge
#

hi

radiant nymph
#

what can i program in nerworking thats really cool?

clear bobcat
radiant nymph
clear bobcat
clear bobcat
#

I don't think so

radiant nymph
#

how am i goingt o make it ,

#

lmao

#

xd

clear bobcat
#

Take proper RFC and go ahead!

errant bayBOT
#

Hey @radiant nymph!

It looks like you tried to attach file type(s) that we do not allow (.pdf). We currently allow the following file types: .3gp, .3g2, .avi, .bmp, .gif, .h264, .jpg, .jpeg, .mov, .mp4, .mpeg, .mpg, .png, .tiff, .wmv, .psd, .ai, .aep, .xcf, .mp3, .wav, .ogg, .webm, .webp, .flac, .afdesign, .m4a, .csv.

Feel free to ask in #community-meta if you think this is a mistake.

radiant nymph
clear bobcat
#

If you want something easier you can implement IPIP tunneling for example

radiant nymph
#

does

#

py charm work with js?

#

im so confused

clear bobcat
#

I don't know, I am not JS developer

radiant nymph
#

i'll just try and find out

#

anyways

#

thanks for ur time ,its 1 am , gn

clear bobcat
#

Your welcome, good night

#

10 PM here

lament cove
#

if anyone can answer my questions regurading networking like tcp and packets then dm me please the world of python networking is so confusing....

#

im learning scapy rn

prisma cobalt
#

If you think python networking is hard you should try a lower level language 😂

spring elk
#

hi, if i wanted to make a application that was fully server sided and needed multiple connections to connect to it through telnet how would i do this

#

?

#

why does the second client not connect fully

#

?

ember ledge
ember ledge
#

lel the owner is network chunk

restive moss
#

what?

raven spire
#

yup

wheat wedge
#

I have a problem
there is an http server:

with socketserver.TCPServer(("", PORT), PageHandler1.PageHandlerClass1) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

In PageHandlerClass1 (which is inherited from BaseHTTPRequestHandler):

def do_GET(self):
    #parse parts of the request and make sure there are 4 of them
    url = unquote(self.requestline)
    url = url.replace(" ", "?")
    url = url.replace("989", " ")
    parts = url.split("?")

    if len(parts) != 4:
        print("Ignored request", parts)
        self._set_headers()
        encoded = bytes("Hi", "utf8")
        self.wfile.write(encoded)
        return

    if len(parts) == 4:
        print("Accepted request", parts)
        #here I do the logic using parts
        #... a lot of code




def do_POST(self):
    try:
        #parse parts of the request and make sure there are 4 of them
        url = unquote(self.requestline)
        url = url.replace(" ", "?")
        parts = url.split("?")

        if len(parts) == 4:
            print("Accepted request", parts)
            #here I do the logic using parts
            #... a lot of code

    except BaseException as e:
        print("Exception", e)

The server works normally (and the web app is being used by a couple of my friends) but sometimes it just randomly "hangs" (doesn't respond to the client but the script is still working - looks like it's in the mid of request). It happens pretty rare, the server can work for days

In the logs I found this (the last thing before I had to restart it)

192.241.214.177 - - [23/Feb/2021 08:32:02] code 400, message Bad request version ('À\x14À')
192.241.214.177 - - [23/Feb/2021 08:32:02] " Œ  ˆc]†æBèðW%üy²îŽm.”Bêͅtevø;/
 6Ë  À/À+ÀÀÀÀ    ÀÀ" 400 -

Any thoughts?

prisma cobalt
#

bad request...

wheat wedge
#

The requests come from the JS client:

function ___api_get_root(port){
    if(___debug){
        return "http://localhost:"+port+"/api/"
    }
    else {
        return "http://<my ip>:"+port+"/api/"
    }
}




//for GET:
var req = new XMLHttpRequest();
req.open("GET", ___api_get_root(mainPort)+"article?lang="+std_langs[main_lang]+"&word="+repl, false);
req.onreadystatechange = function ()
{
  ...
}
req.send(null);


//for POST:
var rec = new XMLHttpRequest();
rec.open("POST", ___api_get_root(mainPort)+"linkify?align=0&lang="+std_langs[main_lang], true);
rec.onreadystatechange = function ()
{
  ...
}
rec.send(text);

I suspect this "bad request" comes from an outside place, not from my JS client

prisma cobalt
#

i cant help you there

wheat wedge
#

wait a minute...
ISP DigitalOcean LLC
that's where I host my app...

#

🤔

safe agate
#

guys if i have a client that sends data to a server with a socket,
and i want the client to sometimes send messages like "switch channel" or stuff like that in between.
should i make a seperate socket for the messages? or mix the data socket with the messages???

#

the server offeres a socket for audio data, and the client sends this data
i also want the client to send messages in between, should i do a second scoket for that? or is that not the usual way to do it?

storm saffron
#

if you're expecting actual web traffic

#

any bad request will tie up the only serving thread and prevent others from connecting

wheat wedge
#

@storm saffron
tnx 🙂
how to run a server in a "production ready" way?

storm saffron
#

well if you want to prevent the threading problem you can use ThreadingHTTPServer

#

oh you're using tcpserver

#

why

#

is it just for the experience of writing a socket http server?

wheat wedge
#

tbh, I just google for "basic http server", and used the example code. I had no experience with that before. I was focused on the logic. It seemed to work so...

#

the logic was initially "just read the file and serve it back"
now there is a lot of complex logic there but I never really got into how the networking part operates

gloomy root
#

you shouldnt be using any of the inbuilt http stuff with python for prod

wheat wedge
gloomy root
#

well for serving files the standard case is using apache or nginx to serve that and then reverse proxy to something like gunicorn to run a WSGI framework

wheat wedge
#

@gloomy root
tnx 🙂

vernal jackal
#

hello

#

i really desperatly need your help, I want to make a get reuqest to REST API wordpress, and I get 401 error
So I have to authenticate somewhere, but I dont know where, what is the right way to do it..

#

can u help?

raven spire
#

'

velvet lichen
#

can somebody pls link me to a good socket programming course? im having a hard time finding one myself...

slender steeple
velvet lichen
#

k

prisma cobalt
#

Anytime someone asks about sockets I always direct them to the channels pins 😂 pure coincidence that a message from me is up there, pure coincidence indeed

safe agate
prisma cobalt
safe agate
#

okay, so if i try to use one socket, then how can i seperate messages from data?

#

because the socket obviously gets "spammed" with audio data, if i put a small socktet.send("switchroom") in between h?

safe agate
#

alright, fixed it

#

nvm

#

fyi: used an if ("switchroom" in data.decode() ) XDD

radiant nymph
#

wjere can i do lke stuff related to ip's in python

undone sundial
#

Can anyone help me understand restful api usage in Python? Trying to use an api but I'm lost 😭

compact widget
undone sundial
#

Cheers man! That's what I'm using but there's some more information

exotic thistle
#

could someone help me with a simple but annoying question on networking?

clear bobcat
exotic thistle
#

its a picture, you good if i dm it?

clear bobcat
#

You can post it here, can't you?

exotic thistle
#

oh right i havent been able to before

#

i wrote: "Using the subnet mask A = 131.21.3.0 B = 156.32.250.0 using an and gate adn the subnet mask."

clear bobcat
exotic thistle
#

so you're identifying the private side of the routers interface so using the private ip?

clear bobcat
#

According to the task's description - yes. But it's my opinion, I may be wrong

exotic thistle
#

my dad agrees with you

#

but my friends dis agree

#

😂 im split between them

#

but yours and my dads explanation makes sense thank you!

clear bobcat
exotic thistle
#

lol thank you

robust totem
#

hello

#

is this general discussion channel

clear bobcat
robust totem
#

can we make a udp connection with mobile devices

#

to send data packets

prisma cobalt
#

python on mobile tho... hmm

opaque nymph
#

Hello i need some suggestions. I will need to connect few rpis with some kind of mesh connection in python (they will not be in same lan). I need to transfer files between them, send mesages (not broadcast) and also it would be great, that it would work even if some rpis crash. Thank you

#

I found this: https://p2p.today/python/tutorial/mesh.html But i am not exactly sure about files and also what if rpi, that i am connecting to crashes? And also for me it seems like communication is going through the "server" not p2p, or am i wrong

prisma cobalt
#

thats what i do

opaque nymph
#

As i said, that module seems to solve my problem, but i am not sure, if it would handle file transfers (probably <250MB or even less, pics, text, maybe video) and i have feeling, that it is working through the "main" server and as i said mesh would be best solution for me (all devices can communicate with all other devices without help of server, server is not needed).

prisma cobalt
#

ok, make a python program, import os, use os module to run commands such as "scp {file} {user}:{ip} -P {port}"

opaque nymph
#

hmmm... Ok thanks

prisma cobalt
#

the pis dont have to be on the same network

#

and then if you set up the program properly you can also send messages in files

spring elk
#

if i would like to make a full application that uses telnet for useres to connect

#

how would ii manage multiiple connections directly to the telnet server

#

?

gilded pewter
#

Im prob just being dumb but how do i fix this

clear bobcat
gilded pewter
#

Oh wait I figured it out I'm using .bind on the client program