Telnet - Connecting to Website Servers - batch-file

I don't use Telnet a lot so I will need the answer explained really clearly and simple. I want to connect to a website (gmail) with Telnet. I have looked at this post but I am too new to Telnet to understand it:
Send email from gmail using Telnet
So basically, I want to use gmail in Telnet. I don't know what code I need. I also don't know what to do before I start (I heard something about "enabling port 25"). So please just tell me exactly what code I can use (batch file) or what steps I should directly in CMD. Please post an answer as an answer and tell me if this question is better fit for SuperUser. I have looked at multiple StackOverflow answers to this but they were to confusing or not exactly what I wanted. I also found this link: https://technet.microsoft.com/en-us/library/bb123686(v=exchg.160).aspx
and all was working fine with that method up until "MAIL FROM: sender#server.com" when I did that I got a syntax error. Why is that?

Related

Mongo DB - bash: mongo: command not found

So I have been learning about databases and I'm new to it. In my udemy course the video was outdated for the installation of MngoDB version 6.0.1. The video instructor showed a way to install it using the vim editor. However it didn't work for me. Then I discovered that many people are going through the same problem and a guy told a solution to delete the file created with vim and instead use "system environment variable". I edited the path by adding a new one in which I did exactly as the guy mentioned to specify the 'bin' folder inside mongoDB in the Program files. And when I tried to run the 'mongod' command inside hyper I got this at the last line.
{"t":{"$date":"2022-09-09T10:05:27.885+05:30"},"s":"I", "c":"NETWORK", "id":23016,
"ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
The instructor did mention that I should see something like "Waiting for connections at port 27017". However the last line in hyper doesn't explicitly mention it in one line, but I think that's fine. Because the instructor was using a mac and I am using a Windows device. Now here comes the main error. When I open a new tab in Hyper and type 'mongo', I get this error
$ mongo
bash: mongo: command not found
I've researched a lot on stackoverflow but nothing helped me in the end. However I can provide with something that might help in figuring out the solution. Here's something unusual that I noticed. The 'bin' folder in C:/ProgramFiles/MongoDB/Server/6.0 seems to contain very few files. It has only 2 .exe applications namely - 'mongod.exe' & 'mongos.exe'. There is no 'mongo.exe' that my instructor has on her computer. I think this might be the root of the problem, however I'm not sure. also there are other files that seem to be missing. But I would like to mention that I've not tampered the files even once since I've installed them from the setup. I hope this is enough for you guys to solve this. Please help me.

ZMQ HTTP Server - empty Request

While reading on ZMQ, I encountered this link - A Web Server in 30 Lines of C. Highly motivated, I tried running the code and it does indeed print "Hello, World!"
Here's the problem: I never quite get the puts (request); to print anything. Essentially, I was looking for being able to send back some data based on query parrams. Example: http://localhost:8080/hello?myname=mho
response would change with sprintf of the name.
I believe I am not completely able to understand the code (:( just 30 lines!).
Any useful links on how the CZMQ is handling the frames? I am not sure, I am able to make good sense out of the inline documentation in the headers.
Any pointers? Happy to read through please.
Am I missing something obvious here?
I agree it's pretty neat, but it's not an HTTP server - it doesn't understand anything about HTTP, especially not how to parse a query string.
You can certainly use 0MQ to send messages very simply. The zguide has examples of many patterns in many languages - should be everything you need. You need to write both a client and server (really a sender and a receiver) to send anything meaningful over 0MQ. If you're hoping to use a generic http client like curl or wget, then use a real HTTP server instead of 0MQ. Many scripting languages let you launch an HTTP listener in a single line of code. Choose what best fits your needs. If you do use 0MQ, there is an IRC channel on Freenode where you can get help.

Very simple DNS server

I have a linux server has an ad-hoc wireless network for clients to connect to. Once connected I want users to always be redirected to it's own web server no matter what URL they type in. The large solution would be to set up a full DNS server (with BIND or equivalent) but that seems like overkill. All I need is a simple program that will listen for any DNS request and always respond with the same IP address.
I looked around for one but couldn't seem to find one. It would preferably be written in C or Perl as I don't really want to install any other scripting languages.
Use Net::DNS::Nameserver and write your own reply handler.
For C, look at:
How to Build a custom simple DNS server in C/C++
Create custom DNS name server in C
I would suggest using dnsmasq. It's more full-featured than you absolutely need, but it's very well-written, small, and easy to install, and the only configuration you would need to give it is --address='/#/1.2.3.4' to tell it to answer all queries (that don't match some other rule) with the address 1.2.3.4. dnsmasq is well-known and maintained and probably a more robust server than Net::DNS::Nameserver.
I've used fakedns.py when reversing malware. It may be too limited for your situation.
As I answered in the other related question, I wrote a basic DNS server in C++ for a job interview under BSD license.
I think the code was pretty clean, though I didn't made unit tests :-(
I tested it with dig, and it took about a week understanding DNS protocol + implementing + documentation.
If anyone would want to extend it, I guess it would not be very difficult.
Because I think it only supported inverse queries, as that was asked in the exercise.
The code could be found here:
http://code.google.com/p/dns-server/
It was migrated to: https://github.com/tomasorti/dns-server

Error: pjsip gives `mod_sofia` insetad of the actual phone number

I am working on project in which I use Sipek Voip for connecting to Freeswitch. Here is the situation:
I have a Sangoma A400 hard. I compiled Freeswitch for Windows and now it works perfectly.
I have also created a Softphone using Sipek Voip SDK and it works well with Freeswitch.
The problem is that, when I have an incoming call, instead of showing the callers number, I get mod_sofia.
I looked at Sipek and all it gets from pjsip is a string containing <sip:mod_sofia#192.168.2.10:5060>.
So I went to pjsip and tried to pass the actual phone number to Sipek. I found out there is a function called pjsua_call_on_incoming which handles an incoming call.
It takes an argument of type pjsip_rx_data. It has a string field (rdata->msg_info.msg_buf) which contains the whole message. I tried to replace <sip:mod_sofia#192.168.2.10:5060> with the actual number, but it has no effect.
Does anyone have any idea how to fix this?
You can check this link for tracking the issue. Unfortunately there are hardly any people who can help you out with Open source projects "for free" even on a forum. I just speak from my personal experience. I am facing the same problem, and cannot figure it out till now, though I have solved many issues that I used to face with SIPEK, all on my own.
I've not understood the root of your problem is in FreeSWITCH or in sipek/pjsip.
This entry on FreeSWITCH wiki could help you debug the sip stack in FreeSWITCH:
http://wiki.freeswitch.org/wiki/Mod_sofia#Debugging_Sofia-SIP
in a way similar to a wireshark capture.
I'm sorry I don't know how to help you trace down the parsing/rendering of msg_info.msg_buf in pjsip.
Add sip_contact_user=xxxx in your dialstring.

Connect to a website via HTTP in C

I have some C code that parses a file and generates another file of processed data. I now need to post these files to a website on a web server. I guess there is a way to do a HTTP POST but I have never done this in c (using GCC on Ubuntu). Does anyone know how to do this? I need a starting point as I have no clue of doing this in C. I also need to be able to authenticate with the website.
libcurl is probably a good place to start.
I think Hank Gay's suggestion of using a library to handle the details is the best one, but if you want to "do it yourself", you need to open a socket to the web server and then send your data in the HTTP POST format which is described here. Authentication can mean a variety of different things, so you need to be more specific.
Unfortunately, all of the above three jobs involve a fair bit of complexity, so you need to break the question down into stages and come back and ask about each bit separately.

Resources