when testing sctp msg communication between sender and reveiver in respective linux redhat VM , suddenly protocol unreachable for sender, then sender sending ABORT ICMP package tenter image description hereo receiver and rebuild asssociation and back to nornal, as below said. thanks for your comments!
It looks like you have some networking issue (maybe related to your VM). Basically the endpoint with IP address 10.107.89.144 cannot communicate to 10.107.89.131 for some reasons. You can see in your in wireshark trace that it failed to deliver data (there are some retransmissions in the log).
Try to change your VM network setting, say change it from NAT to bridge and see if it makes a difference.
Related
Hints about working with VLAN? I have to write a client-server program, where the client will send a packet through eth0 and the server will receive the packet on VLAN, and to send it to a concerned VLAN client should parse on which command line VLAN will receive it?
Usually there is nothing to do in the application to work with a VLAN. The VLAN is realized using a virtual network interface with its own IP address. From the perspective of the application this is not different from a real network interface with own IP address. The OS will take care about routing and encapsulation of packets and there is nothing to do from the application itself.
So that we can identify the status and proceed accordingly. Otherwise we have to face unwanted errors
SHORT ANSWER
By using the provided Utility - Network object's Ping action to run three ping tests for analysis.
CORRECT ANSWER
By using the provided Utility - Network object's Ping action to run three ping tests for analysis BUT this wholly depends on the network setup of your resource PC.
As well if you have any kind of Firewall configured to block ICMP packets a result will be that you can not send ICMP echo request packets to external networks.
However, let's say you know your network architecture enough to be certain the resource PC can directly send and receive packets. If that were the case then Solution 1 will work.
IF your resource is well and rightly insulated within your organizations network BUT are confident that your network exit points are always connected to the internet AND know your domain network name or IP Solution 2 will work.
Solution 1
ping google.comTo test that DNS is working on the resource
ping 8.8.8.8 To test that resource's TCP/IP settings are correct
ping 127.0.0.1 Loopback test to make sure there's nothing wrong with the resource's network adapter or connection settings
Depending on your requirements you can also directly ping the endpoint addresses your bot needs to communicate with. This would be especially useful if the bot is not using a browser-based application, but rather sending emails.
Solution 2
ping {yourdomainnetwork}.comTo test that DNS is working on the resource
ping {yourdomainnetwork IP} To test that resource's TCP/IP settings are correct
ping 127.0.0.1 Loopback test to make sure there's nothing wrong with the resource's network adapter or connection settings
I have a RHEL client machine which has to get data from the RHEL server machine at the time of booting up.
The IP address of the server is known.
The gateway which has to be used by the client machine is known.
The client machine has multiple network interfaces. All may not be up at the same time or all may be connected to different networks.
I need to determine which network interface has to be used.
I know that this can be easily done using the "ping" or "traceroute".
The issue is ICMP protocol is disabled both at the client end as well as the server end.
ICMP has been disabled due to security concerns.
ICMP may be disabled at machine level or it may be disabled for the whole network.
In otherword, I need to find a way that can give me if two ip's are communicating if ICMP is disabled.
Also, I have to use this result in my script, which I am writing in bash, to set the network of the client machine.
What is the best possible way to achieve this?
You can ping the ip with ARP try using arping command
I am working on a C program on Linux (kernel 2.6.18). I need to send/inject IP packets (e.g., over a socket) in my Linux systems, but make the same Linux "think" that these packets are incoming from another host. I creat a datalink socket and use faked source mac/ip for the packets sent over this socket. The destination mac/ip are set to the ones in my local Linux. However, whether I send these packets in a user-space program or in a kernel module, my local Linux just doesn't think these packets are coming from outside. For example, if I create a datalink socket to send an ICMP request destined to my local Linux, I expect my local Linux to think this ICMP request coming from outside, and would respond with an ICMP reply, but my local Linux does not do so. (However, with the same program I can send a faked ICMP request to another host, and that host does respond an ICMP reply.)
I did some research on this topic online, and it seems all related solution suggest using TAP. But as this VirtualBox article says:
... TAP is no longer necessary on Linux with bridged networking, ...
I am very interested to know how this is possible. Thanks.
For the sake of simplicity, I will refer you to http://en.wikipedia.org/wiki/Berkeley_sockets and the UDP server and client source code there.
I am trying to send a packet using UDP protocol to a linux VirtualMachine server program. Both my host and VM ping well; all packets sent are received in both directions. However my server program is either not receiving any packets, or it is simply not printing. Either way, it isn't printing the confirmation or contents of any packets I send to it from the host.
I do not have another PC handy, but both programs communicate well enough if I stage them on the same computer and Wireshark reports that the packets are being sent.
Mine is a three part question: first, how can I fix this. Second, why would the host and VM receive each others ping messages, but not pass these on to the open sockets of both ends of my UDP system? Finally, do you have any suggestions about the form or intent of this question?
EDIT: I've tried running my VM with the NAT and bridged adapter network setups. However, I can't conceptualize the relationship between those setups and my problems right now.
With NAT networking, the VM gets a private IP address (usually 192.168.x.y) and the host does NAT translation of outgoing packets, and translates reply packets back to the VM. In this mode, all communication must be initiated by the VM -- outside machines can only send packets to the VM in reply to packets the VM sent to them. On the network, the packets will look like they're coming from/going to the host on some unrelated port.
With bridged networking, the VM gets a device that connects directly to the host's network device. In this mode, the VM appears as a separate machine on the same network LAN as the host, with its own IP address. You need to allocate an IP address for it, the same as the host get allocated an IP address (usually via DHCP).
In either case, to debug what is going on, use tcpdump/wireshark on the host to monitor the host's network device. Send packets from the VM, and you should see them in the trace -- they'll appear to come from the host and a different port in the NAT case, and will appear to come from the VM's IP address (and unchanged ports) in the bridged case.
Once you see that, you should be able to send packets back to the VM, though in the NAT case, they must come FROM the address/port the original packet(s) were sent to.
There are known issues with VirtualBox bridged networking not working properly on wifi devices; in general you can only use bridged networking with wired networks.
Oracles VB manual page clear all the terminology used in settings.
I've had similar problem, where my VB program didn't receive any packets, which I solved by setting "Bridged Networking" and setting up proper source/destination IP address in my program by analyzing WLAN interface with wireshark and using ifconfig (or ipconfig) in terminal.