derich
derich

Reputation: 321

How to send a message with ping?

The Ping command uses an ICMP request as far as I know

So is it possible to send a short text with the ping command right from commandline?

Upvotes: 15

Views: 27074

Answers (2)

derich
derich

Reputation: 321

#!/bin/python3
import sys, subprocess
text = sys.argv[1]
target = sys.argv[2]
if len(text)>16:
    print("Text too long!")
    exit()
enctext = r''.join( hex(ord(c)).split("x")[1] for c in text )
subprocess.check_output(["ping", "-p", enctext, "-c", "1", target])

Maybe this piece of code is helpful for somebody

Upvotes: 6

Kristian Vitozev
Kristian Vitozev

Reputation: 5971

What about ping -p pattern? Keep in mind that not all of versions of ping support -p option.

You may specify up to 16 ''pad'' bytes to fill out the packet you send. This is useful for diagnosing data-dependent problems in a network. For example, -p ff will cause the sent packet to be filled with all ones.

E.g. ping -p 486920686572652e www.example.com, where 486920686572652e = Hi here.

Upvotes: 19

Related Questions